2016-12-09 19 views
0

私はTabHostを使って2つのタブを設定しました。両方のタブはリストビューを持っています。私は、それぞれのリストビューを設定しているので、アイテムをクリックすると、動作しているアクションが完了しています。問題は、私が開いているときに、タブ2に表示されるアップデート用のアプリケーションをリロードすることです。各オープン時にタブのレイアウトがリフレッシュされます。レイアウトを取得するには、私のタブのXMLにそれを含めています。Tab refresh(TabHost)

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); 
+0

addontabselectedlistener() –

答えて

0

、(自分でそれを作る)1つのメソッドを呼び出して、あなたのアダプタで

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

私はアダプタを追加しました、doesnt workあなたが使ったタブー1とタブ2用のタブホスト – user3175140

+0

(フラグメントまたはアシビリティ)??? –

+0

ここにあなたの全体のコードを入れてください –

0

フラグメントで使用するこの方法を、あなたがこの方法を断片化切り替えます実行:

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