我遇到的问题是我使用HashMap填充ListView,但是当数据出现时,ListView会出现在ActionBar上。如果有所作为,我也在使用Fragments。下面是ActionBar,ListView适配器的代码以及我的问题的屏幕截图。如果您需要更多信息,请告诉我。
ListView代码:
SimpleAdapter adapter = new SimpleAdapter(ForumIndex.getInstance(), categories,android.R.layout.simple_list_item_1, new String[] { "title" }, new int[] { android.R.id.text1 });
setListAdapter(adapter);
ActionBar代码:
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tab = actionBar.newTab()
.setText("Categories")
.setTabListener(new ActionBarTabListener(this, Categories.class.getName()));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText("Most Recent")
.setTabListener(new ActionBarTabListener(this, MostRecent.class.getName()));
actionBar.addTab(tab);
MostRecent Class Layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
示例图片:
答案 0 :(得分:2)
我解决了这个问题。问题是我添加片段的方式是使用Android内容而不是使用我自己的布局。
我改变了:
fragmentTransaction.add(android.R.id.content, fragment);
要:
fragmentTransaction.add(R.id.content_frame, fragment);
答案 1 :(得分:0)
您只需为列表视图定义android:paddingTop
的填充。