我目前正在从在线MySQL数据库中检索数据并在应用程序中显示它,但我一直无法将其格式化为基本标准。
下面的代码片段显示了正在检索和循环的JSON对象,然后应用于列表视图适配器。
private void showJSON(String response){
String CurrentUser="";
String Benchpress="";
String Squat="";
String Deadlift="";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(ConfigLeaderboard.JSON_ARRAY);
JSONObject leaderboards;
for(int i = 0; i<result.length(); i++) {
leaderboards = result.getJSONObject(i);
CurrentUser = leaderboards.getString(ConfigLeaderboard.KEY_CURRENTUSER);
Benchpress = leaderboards.getString(ConfigLeaderboard.KEY_BENCHPRESS);
Squat = leaderboards.getString(ConfigLeaderboard.KEY_SQUAT);
Deadlift = leaderboards.getString(ConfigLeaderboard.KEY_DEADLIFT);
dataList.add(CurrentUser + " " + Benchpress );
adapter.notifyDataSetChanged();
Log.d("JSONArray length ",result.length() + "");
}
}
catch (JSONException e) {
e.printStackTrace();
}
ListView lv = (ListView) findViewById(R.id.list);
lv.setAdapter(adapter);
ArrayAdapter<String> adapter =new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dataList);
}
@Override
public void onClick(View v) {
getLeaderboardData();
我真正坚持的主要事实上只是获得一个基本布局,其中检索到的数据几乎像列一样整齐地分开。现在为此我明白需要自定义列表视图适配器,但是还需要数据模型吗?鉴于我从Json中提取数据,这仍然适用。我只是感到非常沮丧和坚持
非常感谢任何帮助
谢谢!
答案 0 :(得分:0)
首选解决方案是以下
的组合android.R.layout.simple_list_item_1
的布局,因为这样只能获得单个String项,而不是对齐列extends ArrayAdapter<Foobar>
其中Foobar
是第2步中的类名称的适配器现在,您可以只是在字符串数据中添加标签来模拟列,但是您无法保证数据会垂直对齐。