ListView, атрибут id которого является "android.R.id.list" Ошибка при правильном наборе идентификатора ListView
У меня есть Listview с пользовательским адаптером. Я получаю стандартный
Your content must have a ListView whose id attribute is 'android.R.id.list'
однако у My ListView есть значение android:id="@android:id/list"
. Это действительно делает мою голову. Любые предложения?
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/Layout">
<ListView android:id="@android:id/list" style="@stlye/ListMenuView"></ListView>
</LinearLayout>
styles.xml
<resources>
<style name="Layout" parent="@android:Theme">
<item name="android:background">@drawable/background</item>
<item name="android:scaleType">fitXY</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:orientation">vertical</item>
</style>
<style name="ListMenuView">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:cacheColorHint">#00000000</item>
</style>
</resources>
Мой метод onCreate:
/** Called when the activity is first created. */
@Override
public void onCreate( Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
setContentView( R.layout.main );
m_menu = new ArrayList<ListItemData>();
populateMenu();
this.m_adapter = new ListMenuAdapter( this, R.layout.list_item, m_menu );
setListAdapter(this.m_adapter);
}
Любые идеи?
Ответы
Ответ 1
android:id="@android:id/list"
отлично работает. Моя проблема заключалась в том, что у меня был экран Splash, который унаследовал базовый класс, который наследовал ListActivity и не имел ListView, определенного для активности заставки, Я изменил SplashScreen только для наследования Activity. Все работает как ожидалось.
Ответ 2
Я столкнулся с той же проблемой. Я расширяю Activity вместо класса ListActivity, и это решило мою проблему.
Ответ 3
Вы говорите, что используете пользовательский адаптер, но из кода я не вижу такого адаптера. Здесь вы можете скачать весь проект Android, http://blog.sptechnolab.com/wp-content/uploads/2011/02/listBlog.zip.