android - android中选项卡的OnClickListener问题

标签 android tabs onclick listener

我是 Android 编程的新手,我的应用程序中的选项卡的 OnClickListener 有问题。我在堆栈上找到了一个解决方案,它应该如何完成,但由于某种原因它不起作用。

I'm trying to use the 2nd answer

出于某种原因,我遇到了 2 个错误。

第一个是我的 Activity 名称:DragonLords 类型必须实现继承的抽象方法 View.OnClickListener.onClick(View)。

第二个是关于 OnClick 方法:类型为 new View.OnClickListener(){} 的方法 onClick(View) 必须覆盖父类(super class)方法。

这是我的部分代码:

public class DragonLords extends TabActivity implements OnClickListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, Home.class);

    // Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("home").setIndicator("home",
                      res.getDrawable(R.drawable.hometab))
                  .setContent(intent);
    tabHost.addTab(spec);
    getTabWidget().getChildAt(0).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if (getTabHost().getCurrentTab()==0) {
                getTabHost().setCurrentTab(0);
            }else
            {
                getTabHost().setCurrentTab(0);
            }
        }

    });

之后,我将创建更多选项卡。在没有 onclicklistener 的情况下,问题是我需要能够在选项卡处于 Activity 状态时重新加载它们。

有人知道我做错了什么吗?

我添加了必要的导入。

盖茨

最佳答案

  1. 您必须像在代码中那样在匿名内部类中实现 onClick 方法。
  2. 尝试使用 new TabWidget.OnClickListener 而不是普通的 OnClickListener

类似于以下内容:

public class TestActivity extends TabActivity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getTabWidget().getChildAt(0).setOnClickListener(new TabWidget.OnClickListener() {

        public void onClick(View v) {
            if (getTabHost().getCurrentTab()==0) {
                getTabHost().setCurrentTab(0);
            }else
            {
                getTabHost().setCurrentTab(0);
            }
        }

    });
}

public void onClick(View theView) {
    // Do something with view here

}
}

关于android - android中选项卡的OnClickListener问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432090/

相关文章:

android - 无意刷新 Android 标签页

javascript - 以编程方式在选项卡上打开新页面

java - 在android中的选项卡小部件和 fragment 上创建未读消息计数

javascript - 单击时生成相同的随机数

java - 在 Android 中通过手指拖动控制 XY 移动

android - Google Play 没有显示我的应用

java - 方法完成后变量返回 null

php - 组织.json.JSONException : No value for item

Android edittext onclick事件处理和选择

android - 如何在android中单击按钮时将撤消和重做操作应用于EditText