3

AndroidでListViewにを設定しようとしてOnItemClickListenerいますが、機能させることができません。

これは私がこれまでに持っているものです:

public class MenuFragment extends SherlockFragment
{
    ArrayList<Item> items = new ArrayList<Item>();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState)
    {

    ListView list = (ListView)view.findViewById(R.id.list_mainmenu);

    // some code here where i add items to an ArrayList...

    // Then i add the ArrayList to an EntryAdapter
    EntryAdapter adapter = new EntryAdapter(this.getActivity().getBaseContext(), items);

    list.setAdapter(adapter);
    list.setClickable(true);

    list.setOnItemClickListener(AdapterView.OnItemClickListener()) {
        // ...
    }
}

しかし、これは私にエラーを与えますOnItemClickListener()

メソッドOnItemClickListener()は、タイプAdapterViewに対して未定義です。

だから私の質問は、どうすればOnItemClickListener私のListViewにを設定できますか?

4

6 に答える 6

10

このコードを確認してください

  listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
            // When clicked, show a toast with the TextView text
            Toast.makeText(getApplicationContext(),
            ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
        }
    });
于 2012-07-24T06:40:48.650 に答える
2

正しいパッケージをインポートしたことを確認してください。

import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
于 2012-07-24T06:42:55.917 に答える
1

これを試して

list.setOnItemClickListener(new AdapterView.OnItemClickListener()) {
    // ...
}
于 2012-07-24T06:41:56.540 に答える
0

listViewをより細かく制御するには、customAdapterを実装する必要があります。これにアクセスした後のリンクは、必要なことを実行できるはずです。または、このコードを使用して、必要なことをすばやく実行できます。

listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) {


}
});
于 2012-07-24T06:41:22.847 に答える
0

これを試して:

list.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
        // ...
    }
});   
于 2012-07-24T06:48:10.453 に答える
0

これを試してみてください

    listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {

        }
    });
于 2013-09-22T06:05:29.600 に答える