簡體   English   中英

標簽刷新(TabHost)

[英]Tab refresh (TabHost)

我使用TabHost設置了2個選項卡,兩個選項卡都有一個listview。 我已經設置了每個列表視圖,以便當我單擊一個項目時,一個動作完成了,可以正常工作,我遇到的問題是我必須重新加載應用程序才能將更新顯示在tab2上,我想要的是打開時一個選項卡,每次打開時都會刷新該選項卡的布局。 為了獲得布局,我將其包含在選項卡XML中。

我的適配器已經安裝並且在MainActivity中工作得很好,僅在添加TabHost之后才出現此問題。

          // My contentMain
                <LinearLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <include
                    android:id="@+id/Onglet1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    layout="@layout/layouttab1" />

            </LinearLayout>


          // My adapter
          ArrayAdapter<Store1> adapter = new MyTitleAdapter();
          ListView myList = (ListView) findViewById(R.id.ListView);
          adapterTitle.notifyDataSetChanged();
          myList.setAdapter(adapter); 


    TabHost.TabSpec spec = host.newTabSpec("Tab One");
    spec.setContent(R.id.tab1);

    spec.setIndicator("First Tab");
    host.addTab(spec);

    TabHost host = (TabHost)findViewById(R.id.tabHost);
    host.setup();

    spec = host.newTabSpec("Tab Two");
    spec.setContent(R.id.tab2);
    spec.setIndicator("Secong Tab");
    //host.setOnTabChangedListener();
    host.addTab(spec);

當您在列表視圖中添加項目時,請在適配器中調用一種方法(自行創建)

public void refreshWishlistAdapter() {
itemList.clear();
itemList.addAll(dbHelper.getallWishlistItems());
itemsAdapter.notifyDataSetChanged();
}

在片段中使用此方法,因此當您切換片段時,此方法將執行:

private boolean isShown = false;

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (getView() != null) {
        isShown = true;
        // fetchdata()  show data when page is selected
        fetchData();
    } else {
        isShown = false;
    }
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM