android中选项卡的OnClickListener存在问题
我是android编程新手,我的应用程序中的OnClickListener选项卡有问题。我在堆栈上找到了一个解决方案,它应该如何完成,但由于某些原因,它不起作用 由于某种原因,我得到了两个错误 第一个是我的活动的名称:类型DragonLords必须实现继承的抽象方法View.OnClickListener.onClick(View)。 第二个是OnClick方法:类型为new View的OnClick(View)方法。OnClickListener(){}必须重写超类方法。 以下是我代码的一部分:android中选项卡的OnClickListener存在问题,android,tabs,onclick,listener,Android,Tabs,Onclick,Listener,我是android编程新手,我的应用程序中的OnClickListener选项卡有问题。我在堆栈上找到了一个解决方案,它应该如何完成,但由于某些原因,它不起作用 由于某种原因,我得到了两个错误 第一个是我的活动的名称:类型DragonLords必须实现继承的抽象方法View.OnClickListener.onClick(View)。 第二个是OnClick方法:类型为new View的OnClick(View)方法。OnClickListener(){}必须重写超类方法。 以下是我代码的一部
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不工作,问题是我需要能够在选项卡处于活动状态时重新加载它们
有人知道我做错了什么吗
我添加了必要的导入
加茨
onClick
方法,而不是像在代码中那样李>
new TabWidget.OnClickListener
而不仅仅是普通的OnClickListenerpublic 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
}
}
onClick
方法,而不是像在代码中那样李>
new TabWidget.OnClickListener
而不仅仅是普通的OnClickListenerpublic 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
}
}
你做这件事很难。。我是这样做的 创建时的公共void(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(窗口。功能\u无\u标题); setContentView(R.layout.tablayout) 希望这有帮助。。。。 tabs_bg只是一个带有
你做得很辛苦……我就是这样做的 创建时的公共void(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(窗口。功能\u无\u标题); setContentView(R.layout.tablayout) 希望这有帮助。。。。 tabs_bg只是一个带有
此外,TabWidget click listener中的逻辑并没有真正向我注册。我理解这些语句的方式是:
如果currentTab为0,则将该选项卡设置为0;否则将该选项卡设置为0
;正确吗?正确。我希望能够重新加载当前处于活动状态的选项卡。当我对on click进行覆盖时方法,我猜在另一个选项卡处于活动状态时单击该选项卡将不起作用,除非我将其置于覆盖中。因此,我们单击该选项卡。我们检查哪个选项卡处于活动状态。如果是此选项卡,则重新加载它,如果不是,则打开它。如果您所说的是正确的,则不希望刷新该选项卡。您可以通过des刷新该选项卡troying它里面的东西并重新创建它。因此,如果它重新启动一个活动,只需调用它的finish()
方法,然后将一个新的意图传递给该选项卡即可。你是对的,我的错误。它不会像我想象的那样工作。谢谢你的想法。但我仍然无法让它工作,并且出现了一系列其他问题:(听起来像是你想要的。现在你可以使用getTabHost()
在选项卡Activity
中。此外,TabWidget click listener中的逻辑并没有真正向我注册。我理解这些语句的方式是:如果当前选项卡为0,则将选项卡设置为0;否则将选项卡设置为0
;正确吗?正确。我希望能够重新加载当前处于活动状态的选项卡。何时我在单击方法上做了一个覆盖,我猜在另一个选项卡处于活动状态时单击该选项卡将不起作用,除非我将其放入覆盖中。因此,我们单击该选项卡。我们检查哪个选项卡处于活动状态。如果是此选项卡,我们将重新加载它,如果不是,我们将其打开。如果您所说的是正确的,则不希望刷新该选项卡e tab。您可以通过销毁并重新创建选项卡来刷新该选项卡。因此,如果它正在启动一个活动,只需调用它的finish()
方法,然后向该选项卡传递一个新的工作意图。你是对的,我的错误。它不会像我想象的那样工作。谢谢你的想法。但我仍然无法让它工作,并且出现了一系列其他问题:(听起来像是你想要的。现在你可以使用getTabHost()
在TabActivity
中。当我尝试使用new-TabWidget.OnClickListener时,出现了第三个错误:/type视图中的方法setOnClickListener(View.OnClickListener)不适用于参数(new-OnClickListener(){})当我尝试使用new-TabWidget.OnClickListener时,出现了第三个错误:/type视图中的方法setOnClickListener(View.OnClickListener)不适用于参数(new-OnClickListener(){})
<TextView android:id="@+id/tabsText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="15dip"
android:textColor="@drawable/tab_text_selector" />