0

我有一個問題,我用HashMap填充ListView,但是當數據出現時,ListView出現在ActionBar上。如果這有所作爲,我也會使用Fragments。下面是ActionBar,ListView適配器的代碼和我的問題的屏幕截圖。讓我知道是否有更多您需要的信息。Android ListView滾動到ActionBar

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 = 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類佈局:

<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> 

樣本圖像:

enter image description here

+0

在舊版本的ActionBar(Compat或Sherlock)在內容視圖上方浮動。 –

+0

是的,只有在兼容模式下使用設備時纔會出現浮動。你知道如何解決這個問題嗎? –

+0

嗯,目前我能想到的是將listview頂部邊距設置爲操作欄的高度。例如:檢索操作欄高度,並將與頂部邊距相同的值添加到列表視圖的佈局參數中。不要忘記檢查API級別以確保您確實需要設置邊距。 –

回答

2

我解決了這個問題。問題是我添加我的片段的方式是使用Android內容而不是使用我自己的佈局。

我改變:

fragmentTransaction.add(android.R.id.content, fragment); 

要:

fragmentTransaction.add(R.id.content_frame, fragment); 
+0

我有同樣的問題,目前正在將android.R.id.content作爲第一個參數傳遞給fragmentTransaction.add。但是,從您發佈的材料(除非我錯過了某些內容)中不清楚您的替換ID是從哪裏來的,它不是您發佈的任何佈局元素的ID ...您能詳細說明嗎?太感謝了! –

0

你只需要定義填充是在爲ListView android:paddingTop