当我试图将一种 Activity 的意图传递给另一种 Activity 时,我的应用程序崩溃了,没有putExtra()可以正常工作。
这是我第一个 Activity 的摘录
ArrayList<Subject> subjectList = new ArrayList<Subject>();
public void computeGrades(View view){
Intent intent = new Intent(this, JLCSActivity2B.class);
intent.putExtra("subjectList", subjectList);
startActivity(intent);
}
第二 Activity
public class JLCSActivity2B extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
Intent intent = getIntent();
ArrayList<Subject> subjectList = (ArrayList<Subject>) intent.getSerializableExtra("subjectList");
}
}
最佳答案
您需要在Subject类中实现Serializable。
public class Subject implements Serializable {
//your variables, constructor and getters and setters
}
在您的“源 Activity ”中,使用以下命令:
ArrayList<Subject> subjectList = new ArrayList<Subject>();
Intent intent = new Intent(SourceActivity.this, TargetActivity.class);
intent.putExtra("subjectList", subjectList);
在您的目标 Activity 中,使用以下命令:
ArrayList<Subject> subjectList = new ArrayList<Subject>();
subjectList = (ArrayList<Question>)getIntent().getSerializableExtra("subjectList");
希望对您有所帮助!
关于java - Android-将对象的 Intent 从一个 Activity 传递到另一个 Activity (崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047975/