开发者社区 问答 正文

选项卡上的OnClickListener不起作用

问候,

当我单击我的TabActivity的当前选定选项卡时,我试图获取Click-事件。仅在更改选项卡时才调用onTabChangedHandler,如果单击了当前活动的Tab则不会调用。调试器告诉我我的TabHost中已为TabWidget注册了onClickListener。

我是否注册了错误的View?

另外,我无法仅针对其内容创建选项卡的上下文菜单,此问题相关吗?


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

展开
收起
Puppet 2020-01-20 10:02:44 331 分享 版权
1 条回答
写回答
取消 提交回答
  • 到我的代码中,它显示了一些错误,并要求我以诸如getTabWidget(),getTabHost()等的名称创建新方法。等待您的响应。

    尝试这个

    
     tabHost.getTabHost().setCurrentTab(myTabIndex);
    
    2020-01-20 10:03:04
    赞同 展开评论
问答地址: