【问题标题】:Obtain List from asynctask从 asynctask 中获取 List
【发布时间】:2013-04-22 12:15:55
【问题描述】:
 public class GetAllEggs extends AsyncTask<Void, Void, List<Egg>>  {
    List<Egg> eggs;
    Egg eg;
     JSONParser jParser = new JSONParser();
    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }
    @Override
    protected List<Egg> doInBackground(Void... params) {
        // TODO Auto-generated method stub

        try {
            // Thread.sleep(5000);
            /*** fetch data from server and save in the local db ***/
            String url = Utils.alleggsofuser;
            JSONObject jObject  = jParser.makeHttpRequest(url, "GET", null);
            //Log.d(DEBUG_TAG, "news response: " + response);


            JSONArray categoryArray = new JSONArray(
                    jObject.getString("categories"));






            for (int i = 0; i < categoryArray.length(); i++) {
                /* make entries in the db */
                JSONObject Category = categoryArray.getJSONObject(i);
                eg=new Egg();
                    eg.setEggid(Category.getInt("eggid"));

                    eg.setApp_user_id(Category.getInt("app_user_id"));

                    eg.setEgg_query(Category.getString("egg_query"));
                    eg.setEgg_date_time(null);
                    eggs.add(eg);
                /**/
            }

            /**/
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            // pBar.cancel();
        }
        return eggs;
    }

    protected void onPostExecute(List<Egg> result) {
        // TODO Auto-generated method stub


    }


List<Egg> eggs=new ArrayList();  
new GetAllEggs().execute(eggs);

我想让鸡蛋抓取GetAllEggs().execute()返回的数据。

这样我就可以使用返回的鸡蛋,在另一个可以显示的类中。

我正在尝试将返回的数据分配给新类中的列表。

由于程序的结构,我无法在postexecute()进行操作

【问题讨论】:

    标签: list android-asynctask assign


    【解决方案1】:

    我可以在 post execute 中调用 ui 线程,而不是从 post execute 传递到 ui 线程 runOnUiThread(new Runnable() { public void run() {}});

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 2022-01-10
      • 2012-06-08
      • 1970-01-01
      • 2016-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多