我是 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 状态时重新加载它们。
有人知道我做错了什么吗?
我添加了必要的导入。
盖茨
最佳答案
- 您必须像在代码中那样在匿名内部类中实现
onClick
方法。 - 尝试使用
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/