如何解决此“无法解析构造函数”错误?

时间:2018-11-25 18:59:43

标签: java android android-layout

我正在尝试创建一个底部为正的对话框,以将活动从SignupAcitvity更改为MainActivity。所以我用了intent方法来做到这一点。但是,一旦尝试了此操作,就会收到以下错误消息:Cannot Resolve constructor 'Intent(com.androidcodefinder.loginscreendemo.Profile.ExampleDialogue, java.lang.Class<com.androidcodefinder.loginscreendemo.MainActivity>)'。你能帮我解决这个问题吗?

我的代码:

public class ExampleDialogue extends AppCompatDialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.dialayout,null);
        builder.setView(view)
                .setTitle("Confirm Your Email")
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Intent intent = new Intent(SignUpActivity.class, MainActivity.class);
                        startActivity(intent);
                    }
                });
                return builder.create();
    }
}

2 个答案:

答案 0 :(得分:2)

出现此错误的原因是,您处于ExampleDialogue活动中,但是您SignUpActivity.class开始了意图MainActivity.class。如果您想转到MainActivity.class,则必须执行以下操作:

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);

此外,它无法解析构造函数,因此只需添加此默认构造函数即可,您可以根据需要进行更改:

public ExampleDialogue(){
    //Constructor code.
}

答案 1 :(得分:0)

您正在尝试

Intent intent = new Intent(SignUpActivity.class, MainActivity.class)

但是,Intent没有以2个类作为参数的构造函数。因此是错误。

您想要的是使用构造函数Intent(Context, Class<?>)。具体来说,您可以这样做:

Intent intent = new Intent(getActivity(), MainActivity.class);