试图在AsyncTask的onPostExecute方法中创建一个intent

问题描述 投票:-1回答:1

我正在使用AsyncTask任务从Web服务器加载响应。根据响应的不同,我想启动一个新的Activity或显示一条错误消息。现在我正试图在onPostExecute类的AsyncTask方法中这样做。当我尝试创建Intent时,我得到一个构造函数是未定义的错误。

这是我的代码:

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();            

            }
        }
  }
android
1个回答
2
投票

你需要将你想要开始的Activity添加到你的Intent

i = new Intent(cGlobals.mParent, NextActivity.class);

Intent没有只接受ConstructorContext所以你得到这个错误。您需要添加Activity才能启动,以便Intent知道如何处理这些信息。这当然是假设cGlobals.mParentcontext,我相信这是你在其他地方使用它的方式以及你给它的名字。你认为Intent IIntent i,我认为这是一个错字或它甚至不应该编译

注意正如@Trinimon在评论中所说的那样,确保Activity开始使用的Intentmanifest中定义的任何qazxswpoi或者你会有更多的问题

© www.soinside.com 2019 - 2024. All rights reserved.