Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 23.05.2019, 02:28   #1
SadiQ228
Форумчанин
 
Регистрация: 30.10.2017
Сообщений: 63
Репутация: -6
По умолчанию не могу передать 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


13:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru