这是我的第一页代码,当我想启动一个Activity时,我有这个错误:
无法解析构造函数'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);
}
}
答案 0 :(得分:1)
您正尝试从Activity
之外开始新的Context
。在行中说contact.this
时:
startActivity( new Intent(contact.this,mainpage.class));
您指的是AsyncTask
contact
扩展的内容。你应该在那里传递一个Context
。您可以将Context
传递到类contact
构造函数中。
将Context
传递到contact
后,您将contact.this
替换为:{/ p>
context.startActivity(new Intent(context, mainpage.class));
答案 1 :(得分:0)
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));