我如何从MainActivity的弹出登录到另一个活动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何从MainActivity的弹出登录到另一个活动相关的知识,希望对你有一定的参考价值。

我正在尝试从MainActivity上的Button打开的自定义对话框中登录,但是当我点击自定义对话框应用程序的登录按钮时,崩溃时出现错误“java.lang.IllegalStateException:无法在父级中找到方法main_login(View)或者android的ancestor Context:在视图类android.support.v7.widget.AppCompatButton上定义的onClick属性,id为'btnLogin'“

MainActivity.class

package com.example.acetec;


public class MainActivity extends AppCompatActivity {
    EditText name,email,password;
    String Name,Email,Password;
    Context ctx=this;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        name = (EditText) findViewById(R.id.name);
        email = (EditText) findViewById(R.id.email);
        password = (EditText) findViewById(R.id.password);


        final Button mShowDialog = (Button) findViewById(R.id.button);
        mShowDialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
                View mView = getLayoutInflater().inflate(R.layout.login,null);


                        mBuilder.setView(mView);
                        AlertDialog dialog = mBuilder.create();
                        dialog.show();

login.class

public class login extends AppCompatActivity {

    EditText name,password;
    String Name, Password;
    Context ctx=this;
    String NAME=null, PASSWORD=null, EMAIL=null;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        name = (EditText) findViewById(R.id.etEmail);
        password = (EditText) findViewById(R.id.etPassword);


    }
    public void main_login(View v){
        Name = name.getText().toString();
        Password = password.getText().toString();
        BackGround b = new BackGround();
        b.execute(Name, Password);
    }

当我点击主要活动的自定义对话框上的登录时,我希望进入新的活动。

答案

您可以像这样设置AlertDialog的点击监听器

mBuilder.setPositiveButton("Start activity", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
         //here you create your intent aand startActivity
    }
});

mBuilder.setNegativeButton("Cancel", null);

以上是关于我如何从MainActivity的弹出登录到另一个活动的主要内容,如果未能解决你的问题,请参考以下文章

从 javascript [spotify auth] 中的弹出窗口获取访问令牌 url

如何迅速解除父母的弹出窗口

如果用户尚未登录,则用户登录的弹出窗口

Iframe里的弹出层如何遮罩住父页面?

对于 iPad 开发人员:如何在 iPad 的 UIImageView 中查看从照片库的弹出窗口中选择的图像

如何在 html/javascript 中实现登录弹出窗口