【发布时间】:2009-06-30 08:42:11
【问题描述】:
您好,
我试图在单击我的 TabActivity 的当前选定选项卡时获取 Click - 事件。 onTabChangedHandler 仅在选项卡更改时调用,而不是在单击当前活动选项卡时调用。调试器告诉我,我在 TabHost 中为 TabWidget 注册了 onClickListener。
我是否注册了错误的视图?
另外,我无法为选项卡创建上下文菜单,只能为其内容创建上下文菜单,是否与此问题有关?
public class TestDroidViewTab extends TabActivity
implements TabContentFactory
, OnTabChangeListener, OnClickListener {
private static final String LOG_KEY = "TEST";
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TabHost tabHost = getTabHost();
TabHost.TabSpec ts = tabHost.newTabSpec("ID_1");
ts.setIndicator("1");
ts.setContent(this);
tabHost.addTab(ts);
ts = tabHost.newTabSpec("ID_2");
ts.setIndicator("2");
ts.setContent(this);
tabHost.addTab(ts);
ts = tabHost.newTabSpec("ID_3");
ts.setIndicator("3");
ts.setContent(this);
tabHost.addTab(ts);
tabHost.setOnClickListener(this);
tabHost.setOnTabChangedListener(this);
}
public void onClick(View v) {
Log.d(LOG_KEY, "OnClick");
}
public void onTabChanged(String tabId) {
Log.d(LOG_KEY, "OnTabChanged");
}
【问题讨论】:
标签: android onclick android-tabhost