2014-11-09 183 views
0

我剛剛開始使用帶有3個選項卡的ActionBar.TabListener。 我在Android Studio中選擇了新的「選項卡式活動」。 我的活動被稱爲測試...不是最好的名字,但我只是想學習:)我應該在哪裏將我的代碼放在ActionBar.TabListener

我有一個listView在fragment_test.xml中,我想在原始的sql搜索後填充數據。 如果我把這段代碼放在onCreateView中,那麼每次我點擊一個標籤頁時,它都會用listView中的相同信息重新寫入該標籤頁。 我想要的是在這些選項卡中有不同的信息....然後我需要知道哪個選項卡被點擊。我用mViewPager.getCurrentItem()做了....是這樣嗎?我怎樣才能得到該標籤的名稱呢?

我也發現onTabSelected ...我應該把我的代碼放在這裏嗎?在這種情況下,我想我知道選擇了哪個選項卡,但將代碼放在這裏真的很明智嗎? 如果我這樣做,那麼ListView1的變成空......爲什麼?:

public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { 
     listView1 = (ListView)findViewById(R.id.listView2); 
     listAdapter2 = new ArrayAdapter<String>(context, R.layout.simplerow, testArray); 
     listAdapter2.notifyDataSetChanged(); 
     listView1.setAdapter(listAdapter2); 

<ListView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/listView2" 
     android:layout_centerHorizontal="true" /> 

回答

1

如果我理解正確的話,你要「根據Tab小號ListView」選擇位置s加載Fragment

如果是這樣,您不應修改FragmentListViewActivity。相反,將Tab的選定位置傳遞給Fragment作爲Activity的參數,並根據該位置在Fragment中加載ListView

相關問題