0

我有一个列表视图,当用户选择一个项目时,将打开一个新活动,该活动将与数据库( 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();
     }
4

2 回答 2

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");
于 2013-10-26T10:02:18.757 回答
1

使用以下

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

消除onItemClick1

于 2013-10-26T10:01:26.433 回答