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
user3264924
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
dit
source
to share