简体   繁体   English

AsyncTask控件UI线程

[英]AsyncTask Control UI-Thread

Code i have use 我使用的代码

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;
    }
}

The DemoAsynTask class is not inside, i have seen an example is work but class inside MainActivity DemoAsynTask类不在内部,我已经看到一个示例,但是在MainActivity内部是

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

The DemoAsynTask class is seperate files and i want call it seperately but it have null pointer exception. DemoAsynTask类是单独的文件,我想单独调用它,但它具有空指针异常。

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

Error Log java.lang.NullPointerException 错误日志java.lang.NullPointerException

Hey you create the MainActivity (no need instantiating of MainActivity let it be instantiated as per activity life cycle) and take DemoAsyncTask as another class or as internal class of MainActivity. 嘿,您创建了MainActivity(无需实例化MainActivity使其按照活动生命周期实例化),并将DemoAsyncTask用作MainActivity的另一个类或内部类。 In onPreExecute() you set the status "TESTING" and in the onPostExecute() change the status as per the result you get in doInBackground(). 在onPreExecute()中,将状态设置为“ TESTING”,在onPostExecute()中,根据在doInBackground()中获得的结果更改状态。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM