作者fantasy15 (随风漂流的云)
看板AndroidDev
标题[问题] fragment & tabhost 的显示更新请教
时间Wed Aug 10 11:58:26 2016
我有一个app程式,采用fragment做分页、tabhost做切换、程式码都独立在各fragment
Main Activity
#这边是fragment根tabhost的运用方式。
tabHost=(FragmentTabHost) findViewById(R.id.tabHost);
tabHost.setup(this, getSupportFragmentManager(),
android.R.id.tabcontent);
Resources res= getResources();
TabHost.TabSpec tab1= tabHost.newTabSpec("tab1");
TabHost.TabSpec tab2= tabHost.newTabSpec("tab2");
TabHost.TabSpec tab3= tabHost.newTabSpec("tab3");
tab1.setIndicator(res.getString(R.string.tab1String),null);
tab2.setIndicator(res.getString(R.string.tab2String),null);
tab3.setIndicator(res.getString(R.string.tab3String),null);
tabHost.addTab(tab1, fragment1.class, null);
tabHost.addTab(tab2, fragment2.class, null);
tabHost.addTab(tab3, fragment3.class, null);
Java Class fragment1
内有几个功能有写到 ↓↓↓↓↓↓↓↓↓↓↓↓
三个按钮按下後各别对,EditText变更EditText.setEnable或字型字体颜色
#listview使用这个方式可以让listview更新
当listview内数值有变化时,直接呼叫下面两行进行更新与显示
listview_fragment1.setAdapter(adapter_tab1);
((BaseAdapter) listview_fragment1.getAdapter()).notifyDataSetChanged();
布局档
activity_main fragment_layout_1 #内含下面四项
Btn_Text1、Btn_Text2、Btn_Text3
EditText1、EditText2、EditText3
listview_fragment1
但是我将按钮後变更EditText.setEnable跟字型字体的函式,采用onClick(View v)呼叫
同时在onCreateView内宣告,所有的EditText、Button、ListView
只有程式开启的第一次会有效果,第二次按钮就没有变更的效果了
把跟set相关的指令#掉之後,
按钮的功能都可以正常执行,就是可以计算跟读写DB,但是加上set做按钮控制
就不会更新按钮的状态了
按钮1 => disable text1、text1变灰变小、disable btn1
按钮2 => disable text2、text2变红变大、disable btn2
按钮3 => enable text1 text2 btn1 btn2、disable btn3、全部按钮跟text变回白色大字
第一次按下按钮1会关掉按钮1同时会变灰变小,
但是再按下按钮3,按钮1不会开启,颜色也不会变回白色大字
想请教一下fragment 的用法里面有没有像listview可以呼叫notifyDataSetChanged();
来让EditText、Button的状态跟设定进行更新显示?
感谢各位前辈们的指教,
一个刚从SE被逼着转APP Coding的可怜责任制IT...
--
Send from my NOKIA 3310 Legendary-Version
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.246.147
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1470801510.A.0BB.html
1F:推 paulku: 用OnClickListener如何? 08/10 16:59
没标记到,我本来就是用OnClick进行按钮动作的,感谢大大的提醒
※ 编辑: fantasy15 (114.35.246.147), 08/10/2016 17:15:00
2F:推 paulku: btn.setOnclickListener(new Button.OnClickListener() 08/10 20:51
3F:→ paulku: { /*@Override onClick*/ }); 08/10 20:52
4F:→ paulku: 这些关键字够你找CODE来看了 08/10 20:53
5F:推 paulku: android button onclicklistener 08/10 20:55
6F:推 silence5105: listview 可以查一下 recyclerview 08/13 05:33
7F:推 a1275647: 你的fragment 是view 要分别呼叫各页需要把程式写在各vi 08/17 19:58
8F:→ a1275647: ew 里即可 08/17 19:58