如何创建onitemclick监听器来打开另一个listview

时间:2014-05-02 10:29:37

标签: java android listview

在这里,我显示了课程中存在的方法,所以现在我想要点击
     它必须在另一个布局中显示它的参数,以便我这样做      创建了另一个活动和布局,但它无法与
连接      onitemclick。

public class Listview extends Activity{
       private ListView listView;     
       // public ItemClickListener clicklistener = new ItemClickListener();

private ListView lv;
public static ArrayList<String> your_array_list = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.listview);
    lv = (ListView) findViewById(R.id.listView1);
    Button backButton=(Button)findViewById(R.id.methodbackbutton1);
    ((ListView) findViewById (R.id.parameter_listview)).setOnItemClickListener (this);

      OnItemClickListener clicklistener;
    //listView.setOnItemClickListener(clicklistener);
    //listView = (ListView) findViewById(R.id.parameter_listview);
    lv.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) 
        {
             // In the following line "v" refers to the View returned by the `getView()` method; meaning the clicked View.
             TextView txtName = (TextView)v.findViewById(R.id.paramlistView1);
             String name = txtName.getText().toString();



             }

        }
    );
  backButton.setOnClickListener(new OnClickListener() {

2 个答案:

答案 0 :(得分:1)

您必须使用intent进行切换活动,并使用putExtra将当前活动的值传递给下一个。

lv.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) 
        {
             // In the following line "v" refers to the View returned by the `getView()` method; meaning the clicked View.
             TextView txtName = (TextView)v.findViewById(R.id.paramlistView1);
             String name = txtName.getText().toString();
             Intent in = new Intent(this, NextActivity.class);
             in.putExtra("name" , name);
             startActivity(in);
             }
        }
    );

在第二项活动onCreate()中,您必须从intent获取价值,如下所示:

String name = getIntent().getString("name");

答案 1 :(得分:1)

试试如下:

 lv.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) 
        {
             // In the following line "v" refers to the View returned by the `getView()` method; meaning the clicked View.
             TextView txtName = (TextView)v.findViewById(R.id.paramlistView1);
             String name = txtName.getText().toString();
             startActivity(new Intent(this,SecondActivity.class).putExtra("value",name))); 

             }
        }
    );

在您的第二个活动布局中,获取IntentonCreate()的值,并按以下所示View显示:

在第二个活动onCreate()

中写下以下代码
     String data=getIntent().getString("value");