我的一个Android学习项目我正在从动态json对象创建一个列表视图。它创造了完美的视野。以下是我的代码
final ListView lv = (ListView) findViewById(R.id.listView1);
String json = "[{\"name\":\"Name 1\",\"number\":\"num 1\"},{\"name\":\"Name 2\",\"number\":\"num 1\"}]";
try {
JSONArray array = (JSONArray) new JSONTokener(json).nextValue();
String[] stringarray = new String[array.length()];
for (int i = 0; i < array.length(); i++) {
stringarray[i] = array.getJSONObject(i).getString("name");
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stringarray);
lv.setAdapter(adapter);
} catch (JSONException e) {
// handle JSON parsing exceptions...
e.printStackTrace();
}
现在我正在尝试为每个列表添加一个click事件,还需要显示另一个活动并仅显示此列表的内容。我不知道该怎么做。
任何人都可以帮助我吗? 提前致谢
更新
final ListView lv = (ListView) findViewById(R.id.listView1);
String json = "[{\"name\":\"Name 1\",\"number\":\"num 1\"},{\"name\":\"Name 2\",\"number\":\"num 1\"}]";
try {
JSONArray array = (JSONArray) new JSONTokener(json).nextValue();
String[] stringarray = new String[array.length()];
for (int i = 0; i < array.length(); i++) {
stringarray[i] = array.getJSONObject(i).getString("name");
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stringarray);
lv.setAdapter(adapter);
adapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// Start a indent to start new activity and store necessary information hhere
}
});
} catch (JSONException e) {
// handle JSON parsing exceptions...
e.printStackTrace();
}
答案 0 :(得分:2)
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// Use an indent to start new activity and store necessary information in the indent
}
});
如何使用缩进check this
开始活动答案 1 :(得分:0)
尝试像这样
为listview设置onItemClick Listenerlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
String text=arg0.getItemAtPosition(arg2);
Intent i=new Intent(context, secondActiviy.class);
i.putExtra("name", text);
startActivity(i);
}
});
在你的活动中得到像这样的额外
String name=getIntent().getExtras().getString("name");
在textview
中显示此文字