so bin ich ziemlich neu in Android-Programmierung und fragte mich, wie ich über das Senden eines Lieds Index aus der Bibliothek Fragment
an den Player Fragment
gehen und dann den Song automatisch spielen, mit diesem Index. Bis jetzt mit dem Code, den ich habe, passiert nichts, wenn ein ListItem
angeklickt wird. Und ich meine nichts. Es stürzte mich nicht wie erwartet ab. Hier ist der Code ...Wie würde ich einen Song-Index an einen benutzerdefinierten Musik-Player senden?
LibraryFragment
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_library, container, false);
songView = (ListView)rootView.findViewById(R.id.song_list);
songList = new ArrayList<>();
getSongList();
Collections.sort(songList, new Comparator<Song>() {
public int compare(Song a, Song b) {
return a.getTitle().compareTo(b.getTitle());
}
});
songView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Getting list item index
int songIndex = position;
// Starting new intent
Intent in = new Intent(getActivity().getApplicationContext(), LibraryFragment.class);
// Sending songIndex to Player Fragment
in.putExtra("songIndex", songIndex);
getActivity().setResult(100, in);
}
});
SongAdapter songAdt = new SongAdapter(getActivity(), songList);
songView.setAdapter(songAdt);
return rootView;
}
PlayerFragment
@Override
public void onActivityResult(int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == 100){
currentSongIndex = data.getExtras().getInt("songIndex");
playSong(currentSongIndex);
}
}
Jede Hilfe bei allen wäre sehr willkommen! Prost!
Ah nennen, danke. Weißt du, wie ich den Index senden würde? Ich bin immer noch leicht verwirrt. – Cryosin
Ich habe ein kurzes Beispiel angegeben. Wenn Sie weder dieses noch das Beispiel in der Dokumentation verstehen, sollten Sie einen Schritt zurückgehen und lernen, wie Interfaces und Casts in Java funktionieren. – F43nd1r