2017-02-14 20 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

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

相关问题