web-dev-qa-db-ja.com

OnItemClickを使用して、リストビューからクリックされた文字列を取得する方法は?

ここに問題があります。それはシンプルに見え、私はそのソリューションを探し続けています。残念ながら、何も見つかりません。これが私の問題です...私がやろうとしていることは、On item clickメソッドからリストビューに表示される文字列を取得することです。

これは私のリストビューです:

- lol
- hi
- waw

「lol」をクリックすると、「lol」という文字列が表示されます。

ここでコードに何を入れればよいですか? :

lv = (ListView) findViewById(R.id.list_view);
lv.setOnItemClickListener(new OnItemClickListener()
{
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
 {
    // Intent newI = new Intent(this,PDetail.class); 
     Intent newI = new Intent (Create.this, PDetail.class);
     //String sd = ((() arg1).getText()).toString();
     //newI.putExtra("x", arg2);
     startActivity (newI);
    // db.getList(arg3);

 }});
14
Charles Lynch
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
     {
         String data=(String)arg0.getItemAtPosition(arg2);


     }});

dataには、クリックした位置のデータが含まれます。それでやりたいことは何でもしてください。

28
Spring Breaker

arg0AdapterViewで、通常はListViewです。 arg2ListView内の位置です。アダプターからアイテムを取得できます。

Object item = arg0.getItemAtPosition(arg2);

アダプター内のオブジェクトのタイプに応じて、簡単な解決策は次のとおりです。

String value = item.toString();
6
njzk2

arg1リスナーのパラメーターは、クリックされたアイテムのビューです。

ListViewのアイテムがTextViewsであるとすると、次のことを試すことができます。

String itemText = ((TextView) arg1).getText();
2
sdabet

string val =(String)arg0.getItemAtPosition(arg2)を使用します

1
karan421