2016-04-12 3 views
0

Ich benutze Fragmente und ich versuche eine Liste zu erstellen, die ich aus der Datenbank bekomme. Alles scheint mit Ausnahme der folgenden Stück Code in Ordnung zu seinandroid kann getLayoutInFlater nicht im Fragment verwenden

listadapter = new charitylist(this, getLayoutInflater()); 

Ich habe bereits das Layout inflater hier

LayoutInflater lf = getActivity().getLayoutInflater(); 

Aber ich habe keine Ahnung, wie die layoutinflater lf int der listadapter verwenden .

Dies ist der vollständige Code

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     LayoutInflater lf = getActivity().getLayoutInflater(); 
     View view = lf.inflate(R.layout.activity_charity, container, false); 

     listView = (ListView) view.findViewById(R.id.charityList); 

     listadapter = new charitylist(this, getLayoutInflater()); 

     listView.setAdapter(listadapter); 

     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

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


       //String trackName = listadapter.getItem(position).optString("track_name", ""); 


      } 

     }); 

     setType = "favourite"; 

     getlist(setUrl, setType); 

     return view; 
    } 

Ich habe keine Ahnung, wie diese Funktion zu erhalten. Ich habe verschiedene Dinge ausprobiert, um das zu erreichen. Aber ich muss den Adapter initiieren.

Vielen Dank für Ihre Hilfe.

Antwort

2

LayoutInflater inflater ist bereits in onCreateView von Fragment bereitgestellt. Warum nicht Sie wie folgt verwenden:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
    View view = inflater.inflate(R.layout.activity_charity, container, false); 
    listView = (ListView) view.findViewById(R.id.charityList); 
    listadapter = new charitylist(getActivity(), inflater); 
... 
+0

das Problem, das ich faving bin, ist der folgende: getlayoutinflater Bündel in Fragment connot in der folgenden Zeile istadapter = new charitylist (this, getLayoutInflater()) angewendet werden; – carlosx2

+0

@ carlosx2, überprüfen Sie die aktualisierte Antwort .. Sie können diesen Inflatter zu "Charitylist" übergeben. –

+0

habe das nicht richtig gesehen, ich sehe es jetzt. danke – carlosx2