作者alderis (alderis)
看板AndroidDev
标题Re: [问题] TabHost 换页时有办法指定呼叫某个函式 …
时间Thu Sep 29 12:15:00 2011
其实我也遇到这个问题卡住两天了
主要是在两个tab页面间互动时
希望页面A的作动会在页面B中进行更动
主要也是listview呈现的部分
先讲解我目前的作法
-----
在建立tabspec时有三种方法,intent或view*2
我们这边用的应该都是加入intent
在加入intent时,先在intent中设一个flag
FLAG_ACTIVITY_CLEAR_TOP
就会让每次要进入这个tab时都重启tab中的activity
如果你的listview更新方法有在oncreate中的话
listview就会被更新到了
如下
TabSpec spec_Cart = tabHost.newTabSpec("Cart")
.setIndicator("Cart")
.setContent(new Intent(this,OrderTabCart.class)
.putExtra("OrderId", OrderId)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
tabHost.addTab(spec_Cart);
下面再写一些应该可行但我没试成功的方法
----
1、把listview直接以view的方式放在tabHost中
再以findViewById的方法抓出这个view
在tab转换时,在OnTabChangeListener中对这个view进行更新动作
2、自已用button作假的tab放着
但会造成在不同tab间切换後,上一个tab的状态会跑掉的问题
如果不care页面或状态跑掉的问题的话,这个方法其实不错用
也看到不少app上有用这个自已作假tab真button的方法
以上,也算是自问自答
希望需要的人有被帮忙到~
※ 引述《jimwayne123 (曼陀罗)》之铭言:
: 请问在使用 TabActivity 的某个 TabHost 页面上面触发点选页签的事件时
: 假设该页签呼叫的 Activity 是 A
: 有没有办法在 TabHost 中指定点选到 A 的页签就呼叫 A.updateXXX( ) 的函式呢?
: (因为有可能在别的页签时更新资料库的资料,所以切回去时
: 希望能把画面上的资料重读一次..)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.239.191
1F:→ alderis:再提供一个作法,tab离开时activity会进入pause的状态 09/29 15:41
2F:→ alderis:所以回tab时会先进入onResume(),只要把要作的动作入即可 09/29 15:42