Полагаю, мой предыдущий вопрос был недостаточно ясным ( Android: не удалось установитьContentView при переключении на 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 должен иметь идентификатор, который в точности равен «@android: id / list». Если я установлю просмотр списка в listview1 и listview2 с одним и тем же идентификатором, то они в конечном итоге будут использовать один и тот же формат просмотра списка, а это не то, что мне нужно. Но если я установлю один из идентификаторов, например, «@ + id / listview2», android выдаст мне ошибку:
java.lang.RuntimeException: ваш контент должен иметь ListView, атрибут id которого равен «android.R.id.list»
Как мне справиться с этой дилеммой?
Кстати: мой список просмотра довольно сложный, привычный список с иконками изображений и текстом, поэтому в своем коде я также расширил ListAdapter:
this.mListAdapter = new myListAdapter(this,
R.layout.listview1, mTiebaInfo);
setListAdapter(this.mListAdapter);