2014-05-14 54 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