Android 更改按钮单击时选项卡的内容
我已经阅读了很多关于如何在使用选项卡时在Android 更改按钮单击时选项卡的内容,android,views,tabs,android-tabhost,android-intent,Android,Views,Tabs,Android Tabhost,Android Intent,我已经阅读了很多关于如何在使用选项卡时在setContent中使用视图而不是意图更轻量级的评论 因为我将创建一个带有选项卡的应用程序,所以我尝试实现它,而不是在setContent中包含意图。然而,我很难找到关于用另一个视图交换当前视图的示例或简单教程 假设我有一个选项卡,带有一些输入字段和一个按钮。当用户单击按钮时,TextView将在同一选项卡中显示“Hello,user!”。当然,这是一个过于简单的示例,但它肯定会为我指明正确的方向 编辑:我有一个名为tab_a的选项卡,其中有一个按钮。如
setContent
中使用视图而不是意图更轻量级的评论
因为我将创建一个带有选项卡的应用程序,所以我尝试实现它,而不是在setContent
中包含意图。然而,我很难找到关于用另一个视图交换当前视图的示例或简单教程
假设我有一个选项卡,带有一些输入字段和一个按钮。当用户单击按钮时,TextView
将在同一选项卡中显示“Hello,user!”。当然,这是一个过于简单的示例,但它肯定会为我指明正确的方向
编辑:我有一个名为tab_a的选项卡,其中有一个按钮。如果用户单击该按钮,TAB_A现在将显示“Hello,user!”而不是该按钮
这是我的TabSpec的一个示例
TabHost.TabSpec spec = tabHost.newTabSpec(getString(R.string.tabspec_tag_search))
.setIndicator(getString(R.string.tabspec_indic_search),
res.getDrawable(R.drawable.tab_ic_search))
.setContent(new TabContentFactory() {
@Override
public View createTabContent(String tag) {
switch (doWhat){
case ACTIVITY_SPLASH_PAGE:
return showButton;
case ACTIVITY_HELLO:
return showHello;
}
return null;
}
});
tabHost.addTab(spec);
其中ShowButton
和ShowHello
都是扩展LinearLayout
的类。它们都是在onCreate中初始化的,如下所示:
ShowButton ShowButton=新的ShowButton(此)代码>
在showButton类中,我有一个侦听器:
viewHolder.button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, Search247.class);
intent.putExtra(EXTRA_DO_WHAT, ACTIVITY_HELLO);
context.startActivity(intent);
}
});
当应用程序首次启动时,用户会看到view Show按钮。当用户单击按钮时,我希望选项卡将其内容更改为showHello
接下来的问题是:是否有任何方法可以在不使用startActivity
的情况下更新tabspec的内容
一如既往地谢谢你 找到了答案:
ViewGroup viewGroup = (ViewGroup) mView.getParent();
viewGroup.removeView(mView);
addView(showResults);
其中mView
是选项卡中的初始视图。现在,我只是想知道如何让应用程序记住在新视图中按BACK时显示mView
。可能只是我,但不清楚你的问题是什么。我不知道你想要什么。创建选项卡屏幕的一些代码示例?我们对意向问题的看法?那个文本视图的东西确实把我弄糊涂了。很好的解决方案!我找了很久了。。!