現在、次のように ActionBar をセットアップしています。
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.addTab(actionBar.newTab().setText("Tab 1").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 2").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 3").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("Tab 4").setTabListener(this));
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_USE_LOGO);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ユーザーがタブ 3 をクリックしたときに、項目をドロップダウン リストから選択できるようにしたいと考えています。現在、私はこれを次のように実装しています。
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
TextView tv = (TextView)findViewById(R.id.hello);
if (tab.getText() == "Tab 3") {
PopupMenu menu = new PopupMenu(this, tv);
menu.getMenuInflater().inflate(R.menu.options_menu, menu.getMenu());
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
TextView tv = (TextView)findViewById(R.id.hello);
public boolean onMenuItemClick(MenuItem item) {
tv.setText(item.getTitle());
return true;
}
});
menu.show();
} else {
tv.setText(tab.getText());
}
}
問題は、メニューがバインドされているビューであるため、メニューが TextView の下部に配置されていることです。「Tab 3」の一番下に合わせようとして頭を机にぶつけていました。助言がありますか???