[问题] fragment & tabhost 的显示更新请教

楼主: fantasy15 (随风漂流的云)   2016-08-10 11:58:26
我有一个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...
作者: paulku (苍木浩介.改)   2016-08-10 16:59:00
用OnClickListener如何?btn.setOnclickListener(new Button.OnClickListener(){ [email protected] onClick*/ });这些关键字够你找CODE来看了android button onclicklistener
作者: silence5105 (Silence)   2016-08-13 05:33:00
listview 可以查一下 recyclerview
作者: a1275647 (iphone 10)   2016-08-17 19:58:00
你的fragment 是view 要分别呼叫各页需要把程式写在各view 里即可

Links booklink

Contact Us: admin [ a t ] ucptt.com