getFragmentManager()无法在自定义对话框上解析

时间:2016-04-12 07:01:38

标签: android android-fragments android-studio dialog fragment

我有一个自定义DialogBox,

if (username.trim().length() > 0 && password.trim().length() > 0) {
        if (tTable_Contacts.checkifexist(username, password)) {

            FragmentManager fragmentManager = getFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.content, mFragment_member).addToBackStack(null).commit();

            dismiss();

        } else {
            ETLoginDialogEmail.setError("Username is not valid.");
            ETLoginDialogPassword.setError("Password is not valid.");

        }
    } 

在主要活动上有一个按钮,在该按钮上点击,将弹出登录对话框。当达到条件时,它会提示用户输入某个片段。

{{1}}

我的问题是,函数getFragmentManager()无法解析。 任何人都可以帮我解决这个问题吗?

提前谢谢。

3 个答案:

答案 0 :(得分:4)

试试这个,

FragmentManager fragmentManager = getActivity().getSupportFragmentManager();

答案 1 :(得分:0)

使用

    FragmentManager manager = getSupportFragmentManager();
    manager.beginTransaction()
            .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
            .replace(R.id.content_main, mFragment_member)
            .commit();

答案 2 :(得分:0)

DialogBoxLogInPop的构造函数更改为接收activity,如下所示:

public class DialogBoxLogInPop extends DialogBox implements View.OnClickListener {

private Activity activity;
public DialogBoxLogInPop(Activity activity){
    this.activity = activity;
}

现在像这样创建DialogBoxLogInPop的{​​{1}}:

来自instance

Activity

来自DialogBoxLogInPop dialogBoxLogInPop = new DialogBoxLogInPop(MainActivity.this); //MainActivity is name of your activity

Fragment

现在请像这样致电DialogBoxLogInPop dialogBoxLogInPop = new DialogBoxLogInPop(getActivity());

FragmentManager