Can't set json string in TextView in onPostExecute in asyncTask

The problem I am facing right now is simply setting the string data from the json array to onPostExecute (). However, I have looked through many tutorials, but I cannot set the text that is in MainActivity. I've added some sample code below. I wonder if the data is wrong.

@SuppressWarnings("unchecked")
    protected void onPostExecute(JSONObject jsonobject) {
        try {
            jsonarray = jsonobject.getJSONArray("grape");
            outerjson = jsonarray;
            String ids = jsonobject.optString("id");
            String tpes = jsonobject.optString("type");


            for (int i = 0; i < jsonarray.length(); i++) {
                HashMap<String, String> map = new HashMap<String, String>();
                jsonobject = jsonarray.getJSONObject(i);
                String str = "";}

            // Step 3.
            map1 = new HashMap<String, String>();
            // this is the last step 4.
            try {
                JSONArray jArray = new JSONArray(str);

                for (int i = 0; i < jArray.length(); i++) {
                    JSONObject json = null;
                    json = jArray.getJSONObject(i);
                    map1.put("id", json.getString("id"));
                    map1.put("type", json.getString("type"));

                }

                result.setText(jsonarray.toString());


                ///set the json in here
            }catch (JSONException e) {}
        } catch (JSONException e) {}
        progressDialog.dismiss();
    }

      

+3


source to share


1 answer


Not enough information, but I'll try:

  • Make your code cleaner by using a container: MyData data = gson.fromJson(jsonobject, MyData.class)

    .
  • Don't ignore exceptions
  • Make sure you are calling result.setText(string);

    on the main UI thread.


Follow these 3 steps and find the error.

0


source







All Articles