我有一个使用 JFeinstein 的 SlidingMenu 库的应用程序。我正在为导航 ListView 使用自定义适配器。我没有任何问题。
由于新的 SupportLibrary 版本引入了 ActionBarCompat 和 NavigationDrawer,我想摆脱 ActionBarSherlock 和 SlidingMenu,因为我认为依赖“官方”库是一种更简洁的解决方案。今天我想用 NavigationDrawer 交换 SlidingMenu 库。我保持适配器不变,更改了 main_activity.xml,就像在 d.android.com 上的官方教程中解释的那样。
但是 ListView 中没有呈现任何项目。滑动效果很好,但我看不到任何物品。我没有对适配器进行任何更改,因为它在 SlidingMenu 库上运行良好。Adapter#getCount() 返回 10 - 所以它肯定不是空的。我还调用了 Adapter#notifyDataSetChanged() 以确保所有项目都将被渲染,但永远不会调用 Adapter#getView(...)。
如果我将另一个 ListView 放到 MainActivity 的布局中(放入代表我的内容的 RelativeLayout),这个 ListView 也不会显示任何项目。我复制了一些与 SimpleAdapter 一起使用的基本适配器示例,但即使使用这个,也没有 ListView 显示任何项目!
我的活动中的代码:
private void setupSidemenu() {
// init sidemenu ui
DrawerLayout drawerLayout = (DrawerLayout)findView(R.id.drawer_layout);
ListView list = (ListView) findViewById(R.id.left_drawer);
menuAdapter = new SideMenuAdapter(getApplicationContext());
list.setAdapter(menuAdapter);
}