0

ListView を含む単純なアプリを作成しています。Java コードでは、現在どの項目が選択されているかを把握しようとしています。http://developer.android.com/reference/android/widget/ListView.htmlの ListView ドキ​​ュメントから、ListView クラスに呼び出されるメソッドがあることがわかります。

public void setSelection (int position) 

getSelection() という同様の名前のメソッドを探しましたが、ありません。

まず、ListView で現在選択されている項目を特定するにはどうすればよいでしょうか。ListView のオブジェクトは既にあるので、必要なのは、ユーザーがクリックした項目を通知するメソッドだけです。

ListView myLV = (ListView) findViewByID(R.id.myListView);

また、アイテムが選択されるたびに呼び出される「コールバック」関数を定義できますか?

最後に、ドキュメントを使用してこれを理解するにはどうすればよいですか? これは非常に基本的な質問であり、自分で理解できるはずです。私は正しいと思われることを行いました.ListViewクラスの公式開発者ページを見ましたが、答えはありませんでした. これらの (基本的な) 質問に自分で答えるにはどうすればよいですか?

4

3 に答える 3

1

これを試して

  mylv.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> myAdapter, View v, int position, long lng) {
    String selectedFromList =(String) (mylv.getItemAtPosition(position));

  }                 
});
于 2013-04-01T17:44:40.917 に答える
1

getSelection() という同様の名前のメソッドを探しましたが、ありません。まず、ListView で現在選択されている項目を特定するにはどうすればよいでしょうか。

スーパークラスの AdapterView にはgetSelectedItem()、 、getSelectedItemId()およびその他があります。AbsListView にもありgetSelectedView()ます。ただし、これらは使用した場合にのみ機能する傾向がありますsetChoiceMode()

OnItemClickListenerは、クリックされたときにどれがクリックされたかを知らせます。

最後に、ドキュメントを使用してこれを理解するにはどうすればよいですか?

ListView のドキュメントから始めたのは正しかったのですが、「継承されたメソッド」セクションに移動して、スーパー クラスも確認してください。

于 2013-04-01T17:27:45.890 に答える