如何从listview传递所选项目(字符串)

时间:2013-10-26 09:54:37

标签: android sqlite listview

我有一个列表视图,当用户选择一个项目时,将打开一个新活动,该活动将与数据库中的数据(sqlite)进行比较并检索数据。 我只能传递所选项目的位置,但我想传递字符串本身。

第一项活动的代码:

  list.setAdapter(adapter);  
       list.setOnItemClickListener(new OnItemClickListener() {   
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {      

                Intent myIntent = new Intent(view.getContext(), ShowWhereToGo.class); 
                myIntent.putExtra("id", position);
                startActivityForResult(myIntent, 0); // display SubView.class               }
            }

            @SuppressWarnings("unused")
            public void onItemClick1(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub

            }});

第二项活动的代码:

 Bundle extras = getIntent().getExtras();
     if (extras != null) {
         String temp = extras.getString("id");

      Toast.makeText(getApplicationContext(),
                    "Position :"+temp , Toast.LENGTH_LONG)
                .show();
     }

2 个答案:

答案 0 :(得分:3)

在Listview的ItemClick中

  public void onItemClick(AdapterView<?> parent, View view,int position, long id)   {      
      Intent myIntent = new Intent(view.getContext(), ShowWhereToGo.class); 
      myIntent.putExtra("item", adapter.getItem(position));
      myIntent.putExtra("id", position);
      startActivityForResult(myIntent, 0); // display SubView.class               }
  }

检索时

     String item = getIntent().getExtras().getString("item");

答案 1 :(得分:1)

使用以下

 String value =(String) parent.getItemAtPosition(position);
 myIntent.putExtra("value", value);

删除onItemClick1