Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2019, 01:28   #1
SadiQ228
Пользователь
 
Регистрация: 30.10.2017
Сообщений: 66
По умолчанию не могу передать Parcelable объект

Изначально у меня есть НЕ Parcelable не Serialized объект MifareClassic mifareTag, я хотел бы обернуть его оберткой Parcelable и передать в другое Activity.
Ошибок мой код не выдает, но приложение при отладке вылетает как только вызывается интент другого активити:

САМ КЛАСС:
Код:
package com.example.retag;
 
import android.nfc.tech.MifareClassic;
import android.os.Parcel;
import android.os.Parcelable;
 
 
public class MyObject implements Parcelable {
    public MifareClassic mifareTag;
 
    public MyObject(MifareClassic tag) {
        this.mifareTag = tag;
    }
 
    public MifareClassic getMifareTag(){
        return this.mifareTag;
    }
 
    protected MyObject(Parcel in) {
    }
 
    public static final Creator<MyObject> CREATOR = new Parcelable.Creator<MyObject>() {
        @Override
        public MyObject createFromParcel(Parcel in) {
            return new MyObject(in);
        }
 
        @Override
        public MyObject[] newArray(int size) {
            return new MyObject[size];
        }
    };
 
    @Override
    public int describeContents() {
        return 0;
    }
 
    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeValue(this.mifareTag);
    }
}
ОТПРАВЛЯЮ
Код:
Intent redirect  = new Intent(this, DataActivity.class);
            redirect.putExtra("objTag", new MyObject(mifareClassicTag));
            startActivity(redirect);
ПРИНИМАЮ!
Код:
MyObject objTag = (MyObject)getIntent().getExtras().getParcelable(MyObject.class.getCanonicalName());
        this.mifareTag = objTag.getMifareTag();
        getCardType(mifareTag);
SadiQ228 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу передать сериализованный объект через сокет - C# ne4kin C# (си шарп) 1 24.08.2015 11:16
как передать объект из динамически загружеамой dll SiDimka Общие вопросы Delphi 7 28.03.2012 20:13
Как в Си# передать в функцию объект по значению? vedro-compota Общие вопросы .NET 7 17.01.2011 19:02
Как передать объект в функцию? BadProgrammer Общие вопросы C/C++ 4 06.11.2010 11:39
Как передать объект по наследству Legat Win Api 6 03.11.2007 11:19