2017-02-14 92 views
-5

對不起,如果有人已經問過這個問題,但是我一直收到我的應用程序出錯。我甚至無法運行,因爲我有一個錯誤說「無法訪問的聲明」。在片段中使用getActivity返回後無法訪問的語句

這是我在我的片段

package com.example.dasilvadd.students; 

public class OngletCours extends Fragment 
{ 

    DatabaseHelper dbhelper = new DatabaseHelper(getActivity()); 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.ongletcours, container, false); 
     return rootView; 

     List<Cours> listeCours; 
     ArrayList<String> arrayList; 
     ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(),R.layout.ongletcours, arrayList); 
     ListView l1= (ListView) getView().findViewById(R.id.ListCours); 
     listeCours= dbhelper.getAllCours(); 
     if (!listeCours.isEmpty()) 
     { 
      String item; 
      String[] cours = {""}; 

      arrayList=new ArrayList<>(Arrays.asList(cours)); 

      l1.setAdapter(adapter); 
      for(int i = 0; i < listeCours.size(); i++) { 
       item = listeCours.get(i).getCours(); 
       arrayList.add(item); 

       adapter.notifyDataSetChanged(); 

      } 
     } 
     else{ 
      Toast t = Toast.makeText(getActivity(),"Error",Toast.LENGTH_LONG); 
      t.show(); 
     } 

    } 

} 

代碼時,我對我的ArrayAdaptergetActivity(),我List<Cours> listeCours;不可達,我不知道爲什麼......

回答

1

您正在返回你的rootView實例在函數的前面,所以沒有任何事後會被調用。移動

return rootView; 

到函數的底部。

+0

我現在正在收到另一個錯誤.. ArrayList arrayList; ArrayAdapter adapter = new ArrayAdapter (getActivity(),R.layout.ongletcours,arrayList); 它說,我的Arraylist可能不會被初始化 並感謝您的回報! –

+0

ListView l1 =(ListView)rootView.findViewById(R.id.ListCours); –

+0

一切正常,非常感謝你! –

相關問題