我猜我之前的问题不够明确(Android: failed to setContentView when switching to ListActivity),所以我解释如下。
在我的应用中,我有两个列表活动,它们使用两个不同的列表视图:
public class Activity1 extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.listview1);
}
public class Activity2 extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
try{
super.onCreate(savedInstanceState);
setContentView(R.layout.listview2);
}
}
根据android的要求,listview的ID必须是“@android:id / list”。如果我在listview1和listview2中使用相同的ID设置listview,那么它们将最终使用相同格式的listview,这不是我想要的。但是,如果我将其中一个ID设置为“@ + id / listview2”,那么android会给我错误: java.lang.RuntimeException:您的内容必须具有一个ListView,其id属性为'android.R.id.list'
我该如何应对这种困境?
btw:我的listview是一个复杂的,自定义的列表,带有图像图标和文本,因此在我的代码中,我还扩展了ListAdapter:
this.mListAdapter = new myListAdapter(this,
R.layout.listview1, mTiebaInfo);
setListAdapter(this.mListAdapter);
答案 0 :(得分:1)
不要使用ListActivities。使用活动并在每个xml中都有一个ListView,您可以根据需要命名。