0

I have a class extended with android.app.ListFragment and I want to make an event when the list view is clicked ,but nothing is working for me and am using array adapter. I have tried almost everything and now am trying this but still its not working.

ListView list = (ListView) rootView.findViewById(android.R.id.list);
    list.setOnItemClickListener(new AdapterView.onItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
          Object listItem = list.getItemAtPosition(position);
       } 
    });

My adapter fragment class is:

4

4 回答 4

0

试试这个方法

getListView().setOnItemClickListener(new OnItemClickListener() {

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

    }
});
于 2013-09-05T06:03:55.313 回答
0

尝试这个:

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

参考: http ://www.mkyong.com/android/android-listview-example/

于 2013-09-05T06:07:06.793 回答
0
@Override
protected void onListItemClick(ListView l, View v, int position, long id){
    super.onListItemClick(l, v, position, id);
    Toast.makeText(getActivity().getApplicationContext(), "Field Vaasdasdaccant",    Toast.LENGTH_LONG).show();
}
于 2013-09-05T08:21:26.017 回答
0

您必须onListItemClick使用ListFragment.

所以删除

ListView list = (ListView) rootView.findViewById(android.R.id.list);
list.setOnItemClickListener(new AdapterView.onItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
      Object listItem = list.getItemAtPosition(position);
   } 
});

并添加到您的班级

public void onListItemClick (ListView l, View v, int position, long id) {
    //Do what you need
}
于 2013-09-05T07:43:30.023 回答