2012-02-24 23 views
8

私はリストビューをいくつか持っています。Android ListViewとOnClickListener:選択したアイテムを取得する方法

私のonClickListenerから、選択した項目の名前(String)を取得したいと考えています。

私は選択位置を取得する方法を知っていますが、どのようにこの要素の文字列を見つけるのですか?

は、ここに私のクリックのリスナーにある:

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

    }}); 

私のリストビューは、データベースからいくつかのクエリが取り込まれます。

ありがとうございます。ビュー上または親のいずれかでそれを見つけることができます

journalNames.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 
     String selectedFromList = (journalNames.getItemAtPosition(position).getString()); 
    }}); 

答えて

17

。日食だけでタイプビュー。あなたがタイプした後にどのような方法が得られるかを見てください。私はこれが最高だと思う。

parent.getAdapter().getItem(position); 
+0

私はgetItemAtPosition()が文字列を返さないと思います。 –

+1

素晴らしい、素晴らしい答えです。それがまさに私が必要としていたものです。どうもありがとうございます。末尾に.getString()を追加するだけです。 –

+1

このように使用できます。String selectedFromList =(String)journalNames.getItemAtPosition(position);またはString selectedFromList =(journalNames.getItemAtPosition(position).toString()); – user370305

8

、およそ何

+1

あなたのアダプタ/リストには、リスト項目ビューに表示されるよりも多くの情報(IDなど)が含まれている可能性があるため、この回答に投票します。 – David

+0

これはこの方法でなければなりません!私はいつも直接(クラスのフィールドとして)リストにアクセスしましたが、私は間違っていました。親を通して、リスナーはカプセル化されます。 1つのリストから別のリストに移動しなければならなかったにもかかわらず、リスナーは変更されません。 – user1592714

関連する問題