3

我正在尝试OnItemClickListener在 Android 中为我的 ListView 设置一个,但我无法让它工作。

这是我到目前为止所拥有的:

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

未为 AdapterView 类型定义 OnItemClickListener() 方法。

所以我的问题是,如何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

try this one

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

        }
    });
于 2013-09-22T06:05:29.600 回答
0

应该实现一个 customAdapter以对您的 listView 进行更多控制,是访问此链接后的链接,您应该能够执行所需的操作。或者您可以使用此代码快速完成您需要的操作。

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 回答