0

我认为 TextViews 没有向我显示它从 mySQL 数据库中检索到的任何数据,这很奇怪。这是我的代码:

这是关键的解析位,我有两列需要解析并放入单独的 TextView,我认为我已经完成了:

//PARSING JSON DATA
        try {
            jArray = new JSONArray(result);

            for (int i = 0; i < jArray.length(); i++) {

                JSONObject json_data = jArray.getJSONObject(i);

                Log.i("log_name", "Driver_full_name:" + json_data.getString("Driver_full_name"));
                Log.i("log_for", "Drives for:" + json_data.getString("Drives_for"));

                returnString += "\n\t" + jArray.getJSONObject(i);
                somethingelse += "\n\t" + jArray.getJSONObject(i);

            }

        } catch (JSONException e1) {
            Log.d("DB", "Error somewhere");
            CurrentSeasonDrivers_DriverName.this.runOnUiThread(new Runnable() {
                public void run() {
                    Toast.makeText(CurrentSeasonDrivers_DriversName, "Could not parse data so shut up",
                            Toast.LENGTH_LONG).show();
                }
            });
        }

        return returnString += somethingelse;
    }

    protected void onPostExecute(String returnString, String somethingelse) {

            TextView drivername = (TextView) findViewById(R.id.DriverName);
            drivername.setText(drivername.getText() + "\n" + returnString);

            TextView drivesfor = (TextView) findViewById(R.id.DrivesFor);
            drivesfor.setText(drivesfor.getText() + "\n" + somethingelse);

    }
}
}

希望有人可以提供帮助。考虑到没有错误。解析位中的日志显示数据已完全解析,但是 onPostExecute 中的日志再次显示它未解析,或者至少在每行周围都有大括号和语音标记。

谢谢你的帮助。真的很感激。

4

2 回答 2

0

看起来您正在使用getString日志方法解析 JSON,但将整个 JSON 填充到用于设置文本的字符串中。除非在这些步骤之间有一些不在这里的东西,否则我认为您需要做的是getString在附加到 returnString 和 somethingElse 时使用该方法。

于 2012-09-05T16:46:49.833 回答
0

你的onPostExecute方法甚至被调用了吗?签名错误,不能带两个参数。

您应该改为传递一个 String 数组(当然,更改您的AsyncTask类声明以在 中使用 String 数组onPostExecute):

    ...
    return new String[] {returnString, somethingelse};
}

protected void onPostExecute(String[] strings) {
    String returnString = strings[0];
    String somethingelse = strings[1];
}
于 2012-09-05T16:52:05.693 回答