[問題] fragment & tabhost 的顯示更新請教

看板AndroidDev作者 (隨風漂流的雲)時間9年前 (2016/08/10 11:58), 9年前編輯推噓5(503)
留言8則, 3人參與, 最新討論串1/1
我有一個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://www.ptt.cc/bbs/AndroidDev/M.1470801510.A.0BB.html

08/10 16:59, , 1F
用OnClickListener如何?
08/10 16:59, 1F
沒標記到,我本來就是用OnClick進行按鈕動作的,感謝大大的提醒 ※ 編輯: fantasy15 (114.35.246.147), 08/10/2016 17:15:00

08/10 20:51, , 2F
btn.setOnclickListener(new Button.OnClickListener()
08/10 20:51, 2F

08/10 20:52, , 3F
{ /*@Override onClick*/ });
08/10 20:52, 3F

08/10 20:53, , 4F
這些關鍵字夠你找CODE來看了
08/10 20:53, 4F

08/10 20:55, , 5F
android button onclicklistener
08/10 20:55, 5F

08/13 05:33, , 6F
listview 可以查一下 recyclerview
08/13 05:33, 6F

08/17 19:58, , 7F
你的fragment 是view 要分別呼叫各頁需要把程式寫在各vi
08/17 19:58, 7F

08/17 19:58, , 8F
ew 裡即可
08/17 19:58, 8F
文章代碼(AID): #1NggPc2x (AndroidDev)