【发布时间】:2011-11-16 20:26:30
【问题描述】:
我有一个列表视图。 ListView 的 Items 保存在一个名为 MSGs 的 ArrayList 中。 现在我为我的班级实施了 onSaveInstanceState 和 onRestoreInstanceState。
方向改变的东西有效,但是当我单击 ListView 的一个项目时,应用程序崩溃。
我不知道问题出在哪里。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.inbox);
//ListView
lv = (ListView)findViewById(R.id.list2);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
try {
Intent ii = new Intent(Inbox.this, MSGsOpenMsg.class);
ii.putExtra("messageid", m_MSGs.get(position).messageid);
ii.putExtra("box", "inbox");
startActivityForResult(ii, 0);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState)
{
savedInstanceState.putSerializable("MSGs", (Serializable)m_MSGs);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
m_MSGs = (ArrayList<MSGs>) savedInstanceState.getSerializable("MSGs");
}
【问题讨论】:
-
你能提供一个堆栈跟踪吗?
-
欢迎来到 Stackoverflow!如果您发现回复有帮助,请投票。如果回复成功回答了您的问题,请点击旁边的绿色复选标记接受答案。也请查看stackoverflow.com/questions/how-to-ask 以获取有关如何写出好问题的建议
-
尝试启动 Intent 时出现问题 =/ 但我不知道为什么
标签: android listview save instance state