Android:如何动态更改膨胀的标签内容?

标签 android android-tabhost layout-inflater

我在从 XML 文件扩充的选项卡上设置内容时遇到问题。

我通过执行以下操作将选项卡动态添加到我的 TabHost(“选项卡”):

        TabSpec passSpec = tabs.newTabSpec("Pass Tab"); 
        passSpec.setIndicator("Passengers", getResources().getDrawable(R.drawable.tab_message));

        passSpec.setContent(new TabHost.TabContentFactory() { 
            public View createTabContent(String tag) { 
                View layout = mInflater.inflate(R.layout.tab_content_passengers, null);                 
                return(layout); 
            } 
        });
        tabs.addTab(passSpec);

这工作正常...我遇到的问题是稍后更改该选项卡上的内容。有什么方法可以在不使用全新布局重新填充所有选项卡的情况下实现这一目标?

我正在尝试以下操作,但没有任何反应:

    mInflater = LayoutInflater.from(this);
    View layout = mInflater.inflate(R.layout.tab_content_passengers, null);
    TextView t = (TextView) layout.findViewById(R.id.testText);
    t.setText("Hello world??");

最佳答案

您可以保留对 layout 变量的引用(可能在 map 或其他内容中),然后稍后以编程方式修改它,如下所示:

tabMap.get(tabId).findViewById(R.id.testText).setText("The text is changed now!");

只要您在 UI 线程上执行此操作,更改就会立即反射(reflect)出来。

关于Android:如何动态更改膨胀的标签内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446276/

相关文章:

android - 如何在工具栏上的溢出菜单中为菜单项设置字体

android - NullPointerException when inflating ,在图形设计器中

Android:性能问题多个纹理 Opengl ES

Android EditText 无法处理大文件

java - Android tabhost错误空指针tabwidget

android - Theme.Holo 不显示 Tabhost 小部件图标

android - 在 fragment 中自定义 xml 布局 - Android

android - Google Play 市场应用程序支持的设备为零 (0)

android - 将 JAXB 与 Google Android 一起使用

Android FragmentTabHost 添加水平滚动