[英]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.