2016-04-01 7 views
-2

Ich erhalte den Fehler "java.lang.NullPointerException", indem ich meinen Adapter in der ListFragment-Aktivität einstelle.android - ListView.setAdapter Fehler: java.lang.NullPointerException

Hier ist mein Code:

private List<Music> musicList; 
public View inflate; 
ListView searchList; 
public class SearchFragment extends ListFragment { 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     context = getActivity().getApplicationContext(); 
     inflate = inflater.inflate(R.layout.search, container, false); 
     musicList = new ArrayList<Music>(); 
     adapter = new CustomListAdapter(musicList, context); 
     searchList.setAdapter(adapter); 
} 

ich eine Nullpointer im folgenden Code haben:

Der Fehler bei searchList.setAdapter(adapter); ist so versuche ich auch new ArrayList<Music>()-new <Music>ArrayList() zu Adapter Wert zu ändern, aber ohne Glück .

Meine Musik-Klasse sieht wie folgt aus:

public class Music { 
    private String title, thumbnail, duration, uri, waveform; 
    private int likes, playbackCount; 

    public Music() { 
    } 

    public Music(String name, String thumbnailUrl, int likes, String rating, int playbackCount) { 
     this.title = name; 
     this.thumbnail = thumbnail; 
     this.likes = likes; 
     this.duration = rating; 
     this.playbackCount = playbackCount; 
    } 

    public String getTitle() { 
     return title; 
    } 
    public void setTitle(String name) { 
     this.title = name; 
    } 

    public String getThumbnail() { 
     return thumbnail; 
    } 
    public void setThumbnail(String thumbnail) { 
     this.thumbnail = thumbnail; 
    } 

    public int getLikes() { 
     return likes; 
    } 
    public void setLikes(int likes) { this.likes = likes; } 

    public String getDuration() { 
     return duration; 
    } 
    public void setDuration(String duration) { 
     this.duration = duration; 
    } 

    public int getPlayBackCount() { 
     return playbackCount; 
    } 
    public void setPlayBackCount(int playbackCount) { 
     this.playbackCount = playbackCount; 
    } 

    public String getUri() { 
     return uri; 
    } 
    public void setUri(String uri) { 
     this.uri = uri; 
    } 

    public String getWaveform() { 
     return waveform; 
    } 
    public void setWaveform(String waveform) { 
     this.waveform = waveform; 
    } 
} 
+0

Versuchen Sie, diese Sie die Nullpointer bekommen, weil Sie nicht in Sie unter Anweisung schreiben sind Code vor dem Satz adepter. Sie müssen Ihre Listenansicht initialisieren ListView searchList = (ListView) inflate.findViewById (R.id.searchList); –

Antwort

1

Sie erstreckt sich bereits ListFragment so

setListAdapter(adapter); 

einen Blick tutorial

1

Erstens haben Sie genommen ListView searchList und das gleiche Objekt, das Sie haven 't initialisiert, so gibt es Ihnen NullPointerException beim Aufruf searchList.setAdapter(adapter);.

Zweitens haben Sie ListFragment genommen, so dass Sie direkt listview mit getListView() Methode erhalten können. Auch Sie können direkt setListAdapter(adapter) Methode aufrufen.

Verwandte Themen