2017-10-29 8 views
1

リストビューにonItemClickListenerが正しく挿入され、クリックすると新しいアクティビティが表示されます。クリックされたListViewアイテムのテキストを変数として設定する

しかし、変数としてクリックされたListViewアイテムの名前を渡したいので(SQLiteクエリで使用できるように)

私は、この変数をインテントで余分に渡す必要があることを理解していますが、最初にその変数をキャプチャするにはどうすればよいですか?

authorsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      // String author = captured ListView item      
     } 
}); 

答えて

1
authorsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
     String author = authorsListView.getItemAtPosition(position).toString();     
    } 
}); 
+0

これは、私が 'position'変数を' i'に置き換えた以外は、私にとってはうまくいきました。 – Sebastian

0

あなたは、アダプタに渡しているリストは、その参照を取得し、getメソッドを使用して、リストのオブジェクトを取得/し、引数として「I」変数を使用します。

は、ここに私の現在のコードですgetメソッドのために。クリック位置のオブジェクトを返します。そして、終わった。このオブジェクトを使用して、requireプロパティを取得し、新しいアクティビティにintentを渡します。

関連する問題