Java Android设置动态创建列表的单击事件

Java Android设置动态创建列表的单击事件,java,android,json,listview,Java,Android,Json,Listview,我的一个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

我的一个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();
    }
final ListView lv=(ListView)findviewbyd(R.id.listView1);
字符串json=“[{\'name\':\'name 1\',\'number\':\'num 1\',{\'name\':\'name 2\',\'number\':\'num 1\'””;
试一试{
JSONArray数组=(JSONArray)新的JSONTokener(json).nextValue();
String[]stringarray=新字符串[array.length()];
对于(int i=0;i
现在,我试图为每个列表添加一个单击事件,还需要显示另一个活动,并且只显示此列表的内容。我不知道该怎么做

有人能帮我吗? 提前谢谢

更新

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();
            }
final ListView lv=(ListView)findviewbyd(R.id.listView1);
字符串json=“[{\'name\':\'name 1\',\'number\':\'num 1\',{\'name\':\'name 2\',\'number\':\'num 1\'””;
试一试{
JSONArray数组=(JSONArray)新的JSONTokener(json).nextValue();
String[]stringarray=新字符串[array.length()];
对于(int i=0;i
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
//使用缩进启动新活动,并在缩进中存储必要的信息
}
});

关于如何使用缩进启动活动,请尝试为listview设置onItemClick Listener,如下所示

lv.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");

在文本视图中显示此文本

您好,谢谢您的回复。。我的代码已更新。。代码是否正确?为
listview
设置onClick Listener不适用于适配器,即为您的
lv
设置onClick Listener不适用于适配器。很抱歉,我的问题@Pragnani是对的,请参考:
String name=getIntent().getExtras().getString("name");