在Android中为ListView设置onItemClick监听器

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。

所以我的问题是,如何在我的ListView上设置OnItemClickListener

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();
        }
    });

2

请确保您已经正确导入了所需的包:

import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;

1
尝试这个。
list.setOnItemClickListener(new AdapterView.OnItemClickListener()) {
    // ...
}

0

试试这个

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

        }
    });

0

你应该实现一个customAdapter来更好地控制你的listView,这里是链接,访问后你应该能够做到所需的。或者你可以使用以下代码快速完成你需要的功能。

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


}
});

0

试试这个:

list.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
        // ...
    }
});   

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接