trg*_*lia 7 android android-tabhost
我有一个带有三个选项卡的tabhost.每个都是一项活动.我想在操作栏中有一个按钮,顶部的栏带有常用按钮,活动标签的调用功能.
例如,添加功能可以根据单击按钮时显示的选项卡添加不同的选项.
所以,我正在讨论如何从tabHost调用Activity A中的函数.
如果这不起作用,也许我可以从tabhost更新数据库,然后刷新选项卡内容.那会更容易吗?
谢谢大家的时间和支持.
Dan*_*ick 14
我在TabActivity类中使用以下代码来切换选项卡,然后调用选项卡活动中定义的公共方法:
getTabHost().setCurrentTab(0);
Activity MyActivity = this.getCurrentActivity();
MyActivity.myMethod();
Run Code Online (Sandbox Code Playgroud)
希望对寻找这个问题答案的人有所帮助.
您好偶然发现了这一点,不确定您是否已找到解决方案?
我最近解决了这个问题.我以前通过从tabhost活动提出意图广播并在子标签活动中接收广播来解决问题.这对我有用,但我确信有一种"更好"的方式.
更简洁的方法是用这样的方法实现它:
可能有这样的事情:
parentActivity - 我的"容器"活动,它持有TabHostchildActivity - 我的标签活动,其中包含标签内容和我想要呼叫的公共方法
parentActivity在parentActivity中:
// a method used for onclick callback or whatever you need. within parentActivity (tabhost)
// this will get call huzzah() in the first tab - getChildAt(0)
onClick () {
childActivity childAct = (childActivity) getTabHost().getChildAt(0).getContext();
childAct.huzzah();
}
Run Code Online (Sandbox Code Playgroud)
在childActivity中:
// a public method for the parent activity to access
public void huzzah() {
Log.d("stuff", "huzzah() called");
}
Run Code Online (Sandbox Code Playgroud)
注意:我认为另一种选择是重新设计使用视图而不是选项卡中的活动.这是一个更好的整体替代方案,因为IIRC内存明智,您只在堆栈上存储1个活动而不是(n * tabs)活动数量
希望有所帮助
| 归档时间: |
|
| 查看次数: |
14825 次 |
| 最近记录: |