0

我尝试使用onPostExecute方法中的字符串,但我必须为此过程编写接口或处理程序。我读了一些东西,但对我来说并不清楚。我的onPostExecute方法:

protected void onPostExecute(String result) {
            try {
                JSONArray jArray = new JSONArray(result);
                JSONObject json_data;
                for (int i = 0; i < jArray.length(); i++) {
                    json_data = jArray.getJSONObject(i);

                t = json_data.getString("name");


                 names.add(t);
              }


        } catch (JSONException e1) {
            e1.printStackTrace();
        } catch (ParseException e1) {
            e1.printStackTrace();
        }
        super.onPostExecute(result);
    }`
4

1 回答 1

3

异步函数不能返回值,因为它们不像普通函数那样被调用。它们不是由另一个函数触发,而是由事件处理程序触发。

在这种情况下,您需要定义一个承诺(使用延迟对象,https://github.com/CodeAndMagic/android-deferred-object),它基本上告诉您要返回的函数“我还不知道什么会的,但当我得到它时我会告诉你的。”

于 2013-10-02T09:37:08.063 回答