首页 > 解决方案 > 我们如何在android中的两个活动之间传递扩展类的对象?

问题描述

public class forTesting extends SQLiteOpenHelper implements Serializable  {
    transient public String string="basant";

    public forTesting(@Nullable Context context) {
        super(context, "abc.db", null, 1);
        this.string = string;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}


public class NewActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_new);
        Intent intent=getIntent();
        forTesting obj=(forTesting) intent.getSerializableExtra("object");
        Toast.makeText(this,obj.string,Toast.LENGTH_LONG).show();
    }
}


    btndelete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    forTesting object=new forTesting(MainActivity.this);
                    Intent intent=new Intent(MainActivity.this,NewActivity.class);
                    intent.putExtra("object",object);
                    startActivity(intent);
    }
    }

块引用

forTesting.java 是 SQLiteOpenHelper 的一个子类,它被实现为 Serializable。我创建了一个 forTesting.java 类的对象并将其传递给 MainActivity 中的一个意图,并尝试将此对象放入 NewActivity,但出现错误。

>>Caused by: java.lang.RuntimeException: Parcelable encountered IOException reading a Serializable object (name = com.example.dbms.forTesting).
>>>I try a lot but till i am not able to resolve it .
>>>>please help me.
>>>>>Thank you!

标签: android

解决方案


推荐阅读