如何让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