2014-05-14 53 views
2

我试图自己解决这个问题,但我不能,我寻找答案类似的问题,但我找不到答案。我有一个扩展ActivityFragment的活动,然后在该活动中有一个片段。这个片段有一个带有OnItemClickListener的ListView。我试图在ListView中的某个项目被点击但没有任何事情发生时开始一个活动,我真的不知道问题是什么,它不会崩溃,只是没有发生任何事情。我试图用一个使用OnClickListener的按钮来做到这一点,它没有任何问题。任何帮助,将不胜感激。OnItemClickListener在片段不起作用

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> 

感谢所有帮助

+0

对此的一个建议是,在“OnItemClickListener”中放入一个日志状态,看看是否调用该方法。 – Wenhui

+0

getApplicationContent()在片段中未定义 –

+0

@LucianoSantis您在哪里设置适配器到列表视图 – Raghunandan

回答

2

您使用的是ListFragment?如果是这种情况,请不要添加此OnItemClickListener,而应从片段中覆盖方法onListItemClick。此功能对此目标更好。

+0

是的,我会这样做,看看它是否有效。 –

+0

如果是这样,只需调用'getListView()'并移除'ViewGroup view =(ViewGroup)inflater.inflate(R.layout.fragment_favourites_profiles,container,false);',并返回'super.onCreaetView() – Wenhui