【问题标题】:How to call a function in TabActivity from a child activity?如何从子活动中调用 TabActivity 中的函数?
【发布时间】:2013-04-16 12:35:17
【问题描述】:

我想根据我的孩子活动的内容更新选项卡的标题。

但是,当我打电话时:

TabActivity parent = (TabActivity) getParent();
TabHost parentHost = (TabHost) parent.getTabHost().findViewById(android.R.id.tabhost);

在孩子中,程序崩溃。 *(感谢 StinePike)现在我知道我无法获取 TabHost 的实例,但我仍然无法调用我自己的 TabActivity 中定义的方法。 *

谁能帮我发现问题并解决它?

我的 TabActivity 设置:

public class Tab extends TabActivity {  
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.tab);

        final TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);

        View newTab = (View) LayoutInflater.from(this).inflate(R.layout.tabmini, null);
        TextView text0 = (TextView) newTab.findViewById(R.id.tab_label);
        text0.setText("new tab");

        tabHost.setup(this.getLocalActivityManager());
        tabHost.setCurrentTab(1);

        tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator(newTab).setContent(new Intent(this, BrowserActivity.class)));

    }

    public void addTab(String startPage){
        //...Add a new Tab  
    }   
    public void setTabTitle(String title){
        //...Set new title  
    }   

}

【问题讨论】:

  • 您能粘贴您的 LogCat 输出吗?
  • 似乎错误是由空指针异常引起的......程序不能在我的TabActivity中找到我自己的方法吗?
  • @user1731839 你是怎么解决NullPointerException的?

标签: android android-tabhost tabactivity


【解决方案1】:

来自子调用

RootActivity parentActivity;
parentActivity = (YourRootActivity) this.getParent();
parentActivity.setTitle(title);

在父级中定义setTitle(String s)方法

public void setTitle(String s){
 // set title here
}

【讨论】:

  • 谢谢老兄。可以拿到parentActivity的实例,但是在自己的tabActivity中尝试调用方法时,出现空指针异常。
【解决方案2】:

TabActivity 已弃用 (http://developer.android.com/reference/android/app/TabActivity.html)。请考虑使用其他东西:

【讨论】:

  • 我使用常规活动时问题仍然存在。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多