2015-03-31 78 views
-1

不知道为什么onItemClick事件不工作...的Android的ListView onItemClick不工作

public class FragmentList extends Fragment { 
    View rootView; 
    ListView list; 


    public FragmentList(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     rootView = inflater.inflate(R.layout.fragment_list, container, false); 
     list=(ListView)rootView.findViewById(R.id.list); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 
       Log.i("test", String.valueOf(position)); 

       } 
      }); 
     return rootView; 
    } 
} 

任何人有这种想法。非常感谢

+1

您没有为该列表视图设置适配器,因此不能注册。 – 2015-03-31 03:02:39

+0

你的Listview尺寸= 0,宽度= 0,高度= 0,因为没有孩子。那么你可以点击这个地方?你首先需要setadapter – kemdo 2015-03-31 03:09:21

回答

2

如果列表中的任何行项包含可焦点或可点击的视图,那么OnItemClickListener将不起作用。

行项目必须有一个像android:descendantFocusability="blocksDescendants"这样的参数。

点击here了解更多信息。

+0

我有一个片段内的listview。当点击一个项目时,它会通过替换跳转到一个细节片段。但是,当我从细节片段中单击后退按钮时,它会跳回到需要再次加载所有数据的listview片段。返回时是否可以保留所有的listview项目和状态?谢谢。 – user3691709 2015-03-31 03:59:48

+0

@ user3691709,是的,在 – adsion 2015-03-31 05:41:32

+0

@ user3691709上,你可以判断你的rootView是否为空或者当调用onCreateView方法时,然后决定是否请求加载所有数据 – adsion 2015-03-31 05:52:06