我的应用程序,只是下载一些MySQL数据并显示给一个列表视图的简单结构。代码片段显示了我在做什么。如何将ID添加到一个ArrayList
public class MyActivity extends Activity implements AdapterView.OnItemClickListener {
private static final String TAG = "centrActivity";
ListView listView;
ArrayList<String> randomCentr;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
parseJson();
ArrayAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, randomTorgCentr);
listView = (ListView) findViewById(R.id.list);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
listView.setOnItemClickListener(this);
}
private ArrayList<String> parseJson() {
randomCentr = new ArrayList<String>();
JSONArray centr = null;
//url
String url = "";
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = jsonParser.getJSONFromUrl(url);
Log.i(TAG, jsonObject.toString());
try {
torgCentr = jsonObject.getJSONArray("callback");
Log.i(TAG, torgCentr.toString());
for (int i=0; i<torgCentr.length(); i++) {
JSONObject o = torgCentr.getJSONObject(i);
String id = o.getString("id");
String name = o.getString("name");
randomCentr.add(i, name);
Log.i(TAG, randomTorgCentr.get(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
return randomTorgCentr;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i(TAG, randomCentr.get(position));
}
}
一切正在显示,但我有一个问题。我有通过id连接到这个表的表。我只有列表中的表的名称属性。那么,如何从json文件中为每个元素指定它的id,这样我就可以根据元素的id创建一个新的请求并显示元素的详细数据?
非常感谢您的回答。我已经使用哈希映射,但是我在显示数据时遇到了问题。你能告诉我的代码片段或与教程链接? – PAcan
@PAcan有很多教程在那里..尝试一个..发布你的代码与你试过..然后我可以帮你 – stinepike