如何從訪問片段內的活動按鈕。其實我設置myButton被禁用,但當我的一些radioButtons被點擊時,我想設置myButton啓用?如何訪問按鈕內部活動從片段
2
A
回答
4
下面是一個例子:
在MyFragment.java
public MyFragment extends Fragment {
public interface Callback {
public void onRadioButtonClicked(View radioButton);
}
private Callback callback;
@Override
public void onAttach(Activity ac) {
super.onAttached(ac);
callback = (Callback)ac;
}
@Override
public void onDetach() {
callback = null;
super.onDetach();
}
....
....
radioButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (callback != null) {
callback.onRadioButtonClicked(view);
}
}
});
}
而在承載/ MyActivity.java包含一個MyFragment:
public MyActivity extends Activity implements MyFragment.Callback {
...
@Override
public void onRadioButtonClicked(View radioButton) {
// The radiobutton in MyFragment has been clicked
myButton.setEnabled(true); // or something like this.
}
}
本設計採用MyFragment.Callback
接口保持主機活動從尾數走的細節,使片段被任何活動,只要活動實現MyFragment.Callback
主辦。
5
有一些事情你可以試試。第一種是使用getActivity().findViewByIt(id)
得到Button
,我認爲應該工作,但它不是從事物的工程方面,因爲你的Fragment
有關Activity
佈局承載它將使假設一個很好的解決方案。第二個是提供一個回調界面,如here所述。每次複選框更改狀態時都要調用回調方法。這種方法比較好,因爲Fragment
可以自由重新使用實現回調接口的任何活動。最後但並非最不重要的,你應該儘量把Button
片段裏面,如果在所有可能的。
相關問題
- 1. 如何從另一個片段活動中的片段活動訪問按鈕
- 2. 從片段訪問活動
- 3. 內片段實施按鈕 - 如何創建片段與活動
- 4. 如何從片段活動中的片段訪問ImageButton?
- 5. 片段活動按鈕
- 6. 片段內的訪問活動
- 7. 如何使用片段內的按鈕啓動活動?
- 8. 選項卡式活動片段中的訪問按鈕
- 9. 聽取片段內部的活動按鈕點擊
- 10. 訪問片段的觀點,從活動
- 11. 從自定義按鈕訪問活動
- 12. 從活動中得到一個片段內的按鈕
- 13. 如何打開新的活動按鈕點擊內部TabLayout使用片段
- 14. 如何訪問片段內活動的選項菜單
- 15. 如何在android studio中單擊按鈕從活動到片段
- 16. 片段活動片段內
- 17. 從片段內訪問ActionBar
- 18. 如何從recyclerview適配器內部訪問外部VIEWS活動
- 19. 如何從活動訪問viewpager的片段
- 20. 回到活動片段與上按鈕
- 21. 主頁按鈕父片段 - 子活動
- 22. 在ViewPager下的片段訪問按鈕
- 23. 單擊按鈕打開內部片段
- 24. 如何從另一個活動訪問按鈕/活動的視圖
- 25. 通過活動訪問片段方法
- 26. 在父活動中訪問片段viewPager
- 27. 片段中的訪問活動變量
- 28. Android片段與內部活動
- 29. 如何從Android中的基本活動更新片段內的片段片段?
- 30. 轉到片段中按鈕的onClick()方法內的父活動
不要讓片段依賴於活動。這是糟糕的設計。碎片可以由另一個活動託管。改用適當的回調機制。啊,條紋。我看到你也提到了回調界面。 – 2013-03-01 22:14:18