我正在使用AsyncTask
任务从Web服务器加载响应。根据响应的不同,我想启动一个新的Activity或显示一条错误消息。现在我正在尝试在onPostExecute
类的AsyncTask
方法中执行此操作。我尝试创建Intent时遇到 Constructor is undefined 错误。
这是我的代码:
protected void onPostExecute(String result) {
// code thate xcicutes after thread
if ( result.contains("OK"))
{
PreSave();
Intent I;
if (ChatOrGame==1)
i = new Intent(cGlobals.mParent );
else
i = new Intent(cGlobals.mParent);
startActivity(i);
}
else
{
if (bInternetError==false)
{
new AlertDialog.Builder( cGlobals.mParent)
.setTitle("Log In Error")
.setMessage( "User name or password" )
.setNeutralButton("close",new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dlg, int i)
{
}} ).show();
}
}
}
答案 0 :(得分:2)
您需要将Activity
想要开始添加到Intent
i = new Intent(cGlobals.mParent, NextActivity.class);
Intent没有Constructor
只接受Context
,因此您收到此错误。您需要添加Activity
才能启动,以便Intent
知道如何处理这些信息。这当然假设cGlobals.mParent
是context
,我相信这是你在别处使用它的方式以及你给它的名字。那你认为Intent I
是Intent i
,我认为这是一个错字或者甚至不应该编译
注意正如@Trinimon在评论中所说的那样,确保Activity
开始时Intent
定义了manifest
或{}}进一步的问题