android - AsyncTask 控件 UI 线程

标签 android

我用过的代码

public class DemoAsynTask extends AsyncTask{
@Override
 protected void onPreExecute(){      
     try{           

         MainActivity myActivity = new MainActivity();
         myActivity.super.onCreate(savedInstanceState);
         myActivity.setContentView(R.layout.activity_main);

         EditText txtInformation = (EditText) myActivity.findViewById(R.id.txtInformation);
     txtInformation.setText("TESTING");
     }catch(Exception ex){
        ex.printStackTrace(); 
     }
}
    @Override
    protected Object doInBackground(Object... params) {
        // TODO Auto-generated method stub
        return null;
    }
}

DemoAsynTask 类不在里面,我看到一个例子是有效的,但是类在 MainActivity 里面

public class MainActivity extends activity{
   public class DemoAsynTask extends AsyncTask{
   }
}

DemoAsynTask 类是单独的文件,我想单独调用它,但它有空指针异常。

public class MainActivity extends activity{
}
public class DemoAsynTask extends AsyncTask{
}

错误日志 java.lang.NullPointerException

最佳答案

嘿,您创建 MainActivity(无需实例化 MainActivity,让它根据 Activity 生命周期实例化)并将 DemoAsyncTask 作为另一个类或作为 MainActivity 的内部类。在 onPreExecute() 中,您设置状态“TESTING”,在 onPostExecute() 中,根据您在 doInBackground() 中获得的结果更改状态。

关于android - AsyncTask 控件 UI 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638662/

相关文章:

android - 如何在不通知的情况下在 Android 中更新通知?

java - 如何从内部 AsyncTask 类的 onPostExecute 方法修改外部字段?

java - Android初学者图形布局不起作用

android - 如何通过点击外部链接打开特定 ID 的特定 Activity

android - 为什么不显示 Leadbolt 图标广告?

android - Eclipse Android 布局编辑器 - 缺少渲染目标选择器

java - 推送通知在 Android 中不起作用,代号一

java - Android 工具栏后退按钮无法识别

android - 通过 Adb Tcp :Ip 将 Android 连接到计算机

android - 由于 GRPC 和 R8,Firestore (0.6.6-dev) 出现内部错误