Fragment中的OnItemClickListener无法正常工作

时间:2014-05-14 18:20:16

标签: android listview android-fragments

我试图自己解决问题,但我不能,我也找到了类似问题的答案,但我找不到答案。我有一个扩展ActivityFragment的活动,然后在Activity里面我有一个片段。这个片段有一个带有OnItemClickListener的ListView。我正在尝试启动一个活动,当ListView中的一个项目被点击但没有发生任何事情,我真的不知道是什么问题,它不会崩溃只是没有发生任何事情。我尝试使用OnClickListener的按钮执行此操作,它没有问题。任何帮助将不胜感激。

Java代码:

/**
 * Instantiate a layout XML file into its corresponding view object.
 * @return view
 */
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_favourites_profiles, container, false);

    email = getActivity().getIntent().getStringExtra("Email");

    //Call loadProfiles method
    loadProfiles();

    // Gets ListView
    lv = (ListView) view.findViewById(android.R.id.list);

    // Listener that acts when profile is selected
    lv.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View v,
                        int position, long id) {


                    Intent in = new Intent(getActivity(), ProfileView.class);

                    //Starts activity 
                    startActivity(in);
                }
            });

    return view;  


}

XML ListView:

    <ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" 
    android:divider="@color/color_black"
    android:dividerHeight="1dp">

</ListView>

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您使用的是ListFragment吗?如果是这种情况,请不要添加此OnItemClickListener,而是覆盖片段中的方法onListItemClick。这样可以更好地实现此目标。