0
 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()プログラムの構造上、 での操作ができません

4

1 に答える 1

0

実行後から ui スレッドに渡す代わりに、runOnUiThread(new Runnable() { public void run() {}}); を使用して実行後で ui スレッドを呼び出すことができます。

于 2013-05-10T06:02:37.790 に答える