繁体   English   中英

无法在Android Studio中打开新的活动

[英]Can't open new Activity in Android Studio

这是我第一页的代码,当我想开始一个活动时,出现此错误:

无法解析构造函数“ Intent(com.example.loginpage.contact,java.lang.Class)”

public class contact extends AsyncTask<String,Void,String>{
Context context;
contact (Context ctx){
    context = ctx;
}
protected void onPostExecute(String result) {
        alertDialog.setMessage(result);
        if (result.equals("Wrong email or password.")) {

        } else
        {
            context.startActivity( new Intent(contact.this,mainpage.class));
        }
        alertDialog.show();
    }
}

我想打开这个活动:

public class mainpage extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainpage);
        String username = getIntent().getStringExtra("Username");
        TextView tv = (TextView)findViewById(R.id.username);
        tv.setText(username);
    }
}

您正在尝试从Context外部启动新的Activity 当您在一行中说出contact.this时:

startActivity( new Intent(contact.this,mainpage.class));

您指的是AsyncTask因为这就是contact延伸。 您应该改为在其中传递Context 您可以通过将Context传递到您的类contact构造函数中来实现。

Context传递到contact ,将contact.this替换为:

context.startActivity(new Intent(context, mainpage.class));

public class contact extends AsyncTask<String, Void, String> {
    Context context;

    contact(Context context) {
        this.context = context;
    }
    //yout other staff

}

然后使用startActivity(new Intent(context,packagename.mainpage.class));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM