【问题标题】:Calling AsyncTask from the Activity从 Activity 调用 AsyncTask
【发布时间】:2013-04-05 08:34:58
【问题描述】:

对于这个代码sn-p(我已经排除了doInBackground(), postExecute()等) 从 CheckServer Activity 调用 Async Task 时应该如何传递 Activity 参数?

public class CheckServer  extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);


    HttpTicket ticket= new HttpTicket(); //HOW IS THIS LINE DONE? WHAT PARAM SHOULD BE PASSED?



    }

    @SuppressWarnings("unused")
    private class HttpTicket extends AsyncTask<String, String, String>
    {
        private Activity activity;
        private ProgressDialog dialog;

         public HttpTicket(Activity activity) {

            this.activity = activity;


        }

【问题讨论】:

  • 创建构造函数HttpTicket(Activity)。 HttpTicket 票=新的 HttpTicket(Activity.this); ticket.execute();

标签: android asynchronous


【解决方案1】:

你可以简单地做

HttpTicket mHttpTicket = new HttpTicket(this); 
mHttpTicket.execute(); 

您也可以删除构造函数,并将其作为参数传递给 OnPreExecute。然后你给它execute(this);

【讨论】:

    【解决方案2】:

    在你的活动中 onCreate()

     HttpTicket ticket= new HttpTicket(Activity.this);
     //passing context to the asynctask constructor
     ticket.execute();
     //call execute to laod asynctask
    

    如下定义异步任务

    private class HttpTicket extends AsyncTask<String, String, String>
    {
        private Activity activity;
        private ProgressDialog dialog;
    
         public HttpTicket(Activity activity) {
    
            this.activity = activity;
            dialog = new ProgressDialog(activity);
            dialog.setTitle("Wait...");
        }
       protected void onPreExecute()
       {
          dialog.show();
       }
       protected String doInBackground(String params)
       {  
          //background opearation
    
         return "string";
       }
       protected void onPostExecute(String result)
       {
           dialog.dismiss();
           //update ui
       }
    
    
      }
    

    【讨论】:

      猜你喜欢
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2020-05-01
      相关资源
      最近更新 更多