相关疑难解决方法(0)

如何将Context传递给AsyncTask?

如何Async Task在不同的java文件中编写的类中传递上下文Main Activity但是从主活动调用?

以下是我的代码:

 @Override

protected void onPostExecute(List<Movie_ModelClass> result) {
        super.onPostExecute(result);

        if (result != null) {
            Movie_Adapter movieAdapter = new Movie_Adapter(new MainActivity().getApplicationContext() , R.layout.custom_row, result);
            MainActivity ovj_main = new MainActivity();
            ovj_main.lv_main.setAdapter(movieAdapter);
        } else {
            Toast.makeText(new MainActivity().getApplicationContext() ,"No Data Found", Toast.LENGTH_LONG);

        }
        if (progressDialog.isShowing()) {
            progressDialog.dismiss();
    }
Run Code Online (Sandbox Code Playgroud)

java android

18
推荐指数
2
解决办法
1万
查看次数

AsyncTask类中的getApplicationContext?

我有几个私有的AsyncTask方法,我想打破公共外部类.在我的应用程序中,我有一个扩展Application的公共类,它包含了我想从我的应用程序的不同部分访问的一些共享例程.然而,当我打破AsyncTask类时,我不再能够调用getApplicationContext()来获取对我的应用程序库的引用(该类不会立即从Activity继承任何内容).getBaseContext()也会有问题.我是否应该在实例化并从那里构建时将上下文传递给AsyncTask?不确定这是否安全.

import java.util.ArrayList;
import android.os.AsyncTask;

public class DlTask extends AsyncTask
{
    long totalbytes = 0;
    long totalread = 0;
    ArrayList <String> data;

    @Override
    protected void onPreExecute ()
    {   
        AppLib lib = (AppLib) getApplicationContext();

        lib.saveStatusText ("Contacting " + lib.getServerAddress () + ":" + lib.getServerPort () + "...");
       super.onPreExecute ();
    }

      @Override
      protected Object doInBackground (Object... params)
      {
        data = lib.sendCommand (CMD_LIST);
         return true;
      }

      @Override
      protected void onPostExecute (Object result)
      {

         if (data != null)
         {
                    lib.saveStatusText (data.size () + " …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×2

android-asynctask ×1

java ×1