2012-02-25 5 views
1


データベースから少数のデータを取得し、それをハッシュマップに格納してリストビューに表示します。テキストビューを使用せずにHashmapからインテントへの値を取得する方法は?

HashMap<String, String> map = new HashMap<String, String>(); 

      map.put(TAG_NAME, name); 
      map.put(TAG_ADDRESS, address); 
      map.put(TAG_VID, vid); 
      venueList.add(map); 

これは別のページの過去の値です。


@Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 
      // getting values from selected ListItem 
      String name = ((TextView) view.findViewById(R.id.name)).getText().toString(); 
      String address = ((TextView) view.findViewById(R.id.address)).getText().toString(); 
      String vid = "NEED HELP HERE" 

      // Starting new intent 
      Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); 
      in.putExtra(TAG_NAME, name); 
      in.putExtra(TAG_ADDRESS, address); 
      in.putExtra(TAG_VID, vid); 
      startActivity(in); 
     } 

私はTextViewの上に表示されている値を渡すために管理が、どのように私はTextViewにはないVIDを渡しますか?

String vid = getListAdapter().getItem(position).toString(); 

これを試しましたが、すべてのデータが表示されます。特定のVIDを選択するにはどうすればいいですか?

ありがとうございました。

+0

から直接バンドルにVIDを置くことができますか? – nmr

+0

ハッシュマップに値を追加するのではなく、リストビューで文字列の位置を検索し、この位置を使用してハッシュマップの代わりに文字列ベクトル –

+0

からデータを取得することができます。次のアクティビティに簡単に渡すことができる 'Bundle'を使用してください。 – waqaslam

答えて

1

あなたはあなたの質問のコンテキストでVIDは何マップ

in.putExtra(TAG_VID, map.get(TAG_VID)); 
+0

**マップ**をグローバルオブジェクトにしてください。他の可能性を示唆できるようにコードを貼り付けてください。 – waqaslam

+0

ありがとうWaqas、 このコードで動作します。 'HashMap map =新しいHashMap (); \t map =(HashMap )getListAdapter()。getItem(position); ' – Eric

関連する問題