我一直在阅读很多关于如何在setContent
使用选项卡时使用视图而不是意图更轻量级的评论。
由于我将创建一个带有选项卡的应用程序,因此我试图实现这一点,而不是在setContent
. 但是,我很难寻找将当前视图与另一个视图交换的示例或简单教程。
假设我有 TAB_A,带有一些输入字段和一个按钮。当用户点击按钮时,aTextView
会显示“Hello, user!” 在同一个 TAB_A 中。当然,这是一个过于简单的例子,但它肯定会为我指明正确的方向。
编辑:我有一个名为 TAB_A 的选项卡,其中有一个按钮。如果用户单击该按钮,TAB_A 现在将显示“你好,用户!” 而不是按钮。
这是我的 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);
WhereShowButton
和ShowHello
are 类都在扩展LinearLayout
. 两者都在 onCreate 中初始化,如下所示:
ShowButton showButton = new ShowButton(this);
在 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);
}
});
当应用程序第一次启动时,用户会看到视图 showButton。当用户单击按钮时,我希望选项卡将其内容更改为 showHello。
那么问题是:有没有办法在不使用的情况下更新 tabspec 的内容startActivity
?
一如既往的感谢!