Android - ListFragment OnClickListener无法正常工作

Cam*_*nor 2 android listview android-fragments onclicklistener android-listfragment

我在我的Android应用程序中有一个ListFragment,我已经让它工作了,但是OnClick Listener无法正常工作,我试着这样做,以便当列表中的任何项目被选中时,Toast出现并且它没有发生,有没有错误,所以我没有LogCat发布

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    View v = inflater.inflate(R.layout.main, container, false);

    ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();


//...

    ListAdapter adapter = new SimpleAdapter(getActivity(), menuItems,
            R.layout.list_item,
            new String[] { KEY_NAME, KEY_DESC, KEY_COST }, new int[] {
                    R.id.name, R.id.desciption, R.id.cost });

    setListAdapter(adapter);

    ListView lv = (ListView)v.findViewById(android.R.id.list);

    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem

            Toast.makeText(getActivity().getApplicationContext(), "Not Configured",
                    Toast.LENGTH_SHORT).show();

        }
    });

    return v;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 6

如果你的类扩展了ListFragment,那么你需要做的就是重写它的onListItemClick方法.

@Override
public void onListItemClick(ListView l, View v, int pos, long id) {
  super.onListItemClick(l, v, pos, id);
  Toast.makeText(getActivity(), "Item " + pos + " was clicked", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)