Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改按钮单击时选项卡的内容_Android_Views_Tabs_Android Tabhost_Android Intent - Fatal编程技术网

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

可能只是我,但不清楚你的问题是什么。我不知道你想要什么。创建选项卡屏幕的一些代码示例?我们对意向问题的看法?那个文本视图的东西确实把我弄糊涂了。很好的解决方案!我找了很久了。。!