MainActivity
と の 2 つのフラグメントを持つタブ バーを含む がありMainFragment
ますWishlistFragment
。どちらも として拡張されListFragment
ます。
誰かがオプションメニューからメニュー項目に触れたとき、表示されている Fragment 内の ListView が、というカスタムアダプターを使用してリストを更新するようにしLazyAdapter adapter
ます。
MainActivity
したがって、ここでは、コードで更新を行いたい場所を示します。
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_edit:
// find out which fragment is showing here
// refresh the fragment's listview here
// adapter.notifyDataSetChanged();
return true;
}
}
これどうやってするの?フラグメントに転送する方法と、どのフラグメントが表示されているかを判断する方法がわかりません。
でタブを設定する方法は次のMainActivity
とおりです。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actionBar.addTab(actionBar.newTab().setText("Main").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Wishlist").setTabListener(this));
}
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
// When the given tab is selected, show the tab contents in the container
ListFragment newfragment = null;
switch (tab.getPosition() + 1)
{
case 1:
newfragment = new MainFragment();
break;
case 2:
newfragment = new WishlistFragment();
break;
}
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, newfragment)
.commit();
}