Ich möchte eine sehr einfache App erstellen, die eine Liste von Liedern zeigt und beim Klicken auf Lied öffnet eine neue Aktivität, um die spielende Statue des Liedes zu zeigen, ich habe fast alles aber erstellt Wenn ich auf "Play" klicke, spielt es nicht. Können Sie mir bitte sagen, was ich vermisse?Pass Songs von Arraylist zu einer anderen Aktivität
erste Aktivität:
enter code here
private Button buttonPlayStop;
private MediaPlayer mMediaPlayer;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
final ArrayList<Songs> songslist = new ArrayList<Songs>();
songslist.add(new Songs("hhhhh", "cHU CHU ", R.drawable.mimi, R.raw.hhh));
songslist.add(new Songs("hhhh", "cHU CHU ", R.drawable.jes1s, R.raw.hhh));
songslist.add(new Songs("hhhh", "cHU CHU ", R.drawable.matt, R.raw.hhh));
songslist.add(new Songs("hhhhh", "cHU CHU ", R.drawable.freind, R.raw.hhh));
songslist.add(new Songs("hhhhh", "cHU CHU ", R.drawable.joe, R.raw.hhh));
songslist.add(new Songs("hhhhh ", "cHU CHU ", R.drawable.bada, R.raw.hhh));
songslist.add(new Songs("hhhhh", "cHU CHU ", R.drawable.abby, R.raw.hhh));
final SongsAdapter adapter = new SongsAdapter(this, songslist);
final ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Songs song = songslist.get(position);
Intent anotherActivityIntent = new Intent(FunActivity.this, playingActivity.class);
anotherActivityIntent.putExtra("songs",songslist);
startActivity(anotherActivityIntent);
}
});
Spielen Aktivität:
enter code here
public class playingActivity extends FunActivity {
private MediaPlayer mMediaPlayer;
private Button buttonPlayStop;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playing);
ArrayList<Songs> songs = getIntent().getParcelableArrayListExtra("Songs");
buttonPlayStop = (Button)findViewById(R.id.ButtonPlayStop);
buttonPlayStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mMediaPlayer.start();
}
});
}
1. In der ersten Aktivität haben Sie eine Zeile 'Songs song = songslist.get (position);' um einen Song zu erhalten, aber versuchen, die ursprüngliche Liste mit 'anotherActivityIntent.putExtra (" songs ", songslist) zu senden;' 2. In der Spielaktivität hast du 'ArrayList songs = ...', scheint aber keinen Platz für 'songs' zu haben. Welche möchten Sie senden (Liste der Songs) oder (ein einzelnes Lied)? –
Toris
...was ich tun möchte, ist, wenn der Benutzer auf einen beliebigen Song in der Listenansicht klickt, zeigt eine andere Aktivität und spielt den gewählten Song –