我有一個類TitleView擴展LinearLayout與它的一個按鈕。由於有servral UI需要這個類,我將它包含在這些佈局xml文件中。現在我需要在按下按鈕後啓動PreferenceFragment,但我不能使用getFragmentManager()獲取FragmentManager來控制TitleView中的PreferenceFragment。如何讓FragmentManager在類中擴展LinearLayout?
任何人都可以幫我嗎?非常感謝:)
我有一個類TitleView擴展LinearLayout與它的一個按鈕。由於有servral UI需要這個類,我將它包含在這些佈局xml文件中。現在我需要在按下按鈕後啓動PreferenceFragment,但我不能使用getFragmentManager()獲取FragmentManager來控制TitleView中的PreferenceFragment。如何讓FragmentManager在類中擴展LinearLayout?
任何人都可以幫我嗎?非常感謝:)
class TitleView extends LinearLayout
{
private FragmentActivity mActivity;
/**
* @param of type null
* @return mActivity of type FragmentActivity
* getter function for mActivity
* @since May 3, 2013
* @author rajeshcp
*/
public FragmentActivity getmActivity() {
return mActivity;
}
/**
* @param mActivity of type FragmentActivity
* @return of type null
* setter function for mActivity
* @since May 3, 2013
* @author rajeshcp
*/
public void setmActivity(FragmentActivity mActivity) {
this.mActivity = mActivity;
mActivity.getSupportFragmentManager();
}
public TitleView(Context context) {
super(context);
}
}
((TitleView)findViewbyId(R.id.your_lay_out_id)).setmActivity(yourFragmentActivity);
mActivity.getSupportFragmentManager();
非常感謝pal,但我需要在類TitleView內部獲得FragmentManager才能將偵聽器綁定到該按鈕。 – kiwi 2013-05-03 07:46:48
爲什麼你想要片段管理器添加監聽器到按鈕? – Triode 2013-05-03 07:50:10
對不起我的英文不好。我需要這樣的:public void onClick(View v){mActivity.getFragmentManager()。beginTransaction()。replace(android.R.id.content,new PrefsFragement())。commit();} – kiwi 2013-05-03 07:57:46
爲什麼你不定義一個接受'Context'和'FragmentManager'的構造函數? – Geros 2013-05-03 07:26:28
cuz這個類包含在xml文件中並且系統調用默認的構造函數。 – kiwi 2013-05-03 07:43:13
我已經通過使用setActivity獲取當前活動解決了問題。感謝提示! – kiwi 2013-05-03 08:07:02