我是新编码并且面对这个问题,因为我在这里问了很多文章和视频(所以我很抱歉,如果这里有类似的问题,我从来没有找到它)
我正在制作一个播放歌曲的应用程序(现在没有声音)我有2个意图来自ArtistsLlistActivity。两者都进入PlyingNowActivity。 到目前为止,他们正在工作,如果我点击ArryList中的一个项目,我在PlayNow中显示我的项目,如果我点击第二个意图,它没有显示任何内容。 我的问题 : 我希望第二个意图看到之前是否使用过第一个意图,如果是的话;然后使用从第一个意图发送的最后一个PutExtra。如果否:不使用getExtra信息。 这里是我正在使用的Intents的代码;
第一意图:
artistList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick( AdapterView<?> parent, View view, int position, long id) {
// idValue=String.valueOf(id);
Intent goToPlayNowIntent = new Intent(ArtistsListActivity.this, PlayNowActivity.class);
goToPlayNowIntent.putExtra("ITEMDATE", artistsNames.get(position));
goToPlayNowIntent.putExtra("ID", String.valueOf(id));
startActivity(goToPlayNowIntent);
}
});
第二意图:
final ImageView nowPlaying = (ImageView) findViewById(R.id.now_playing);
nowPlaying.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent nowPlayingIntent = new Intent(ArtistsListActivity.this, PlayNowActivity.class);
startActivity(nowPlayingIntent); }
});
以下是我的PlayingNowActivity代码:
package com.example.oaamarasheed.drumcodeplayer;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;
public class PlayNowActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_now);
int thumb ;
ImageView artwork = (ImageView) findViewById(R.id.artwork);
String header;
TextView artistName = (TextView) findViewById(R.id.name_text_view);
String log;
TextView songName = (TextView) findViewById(R.id.song_text_view);
Bundle extra=getIntent().getExtras();
if (extra==null){
artwork.setImageResource(R.drawable.drumcoderecords);
artistName.setText("no artist selected");
songName.setText("now song selected");
}
else {
Intent intent=getIntent();
CListItems clickedListItem = intent.getParcelableExtra("ITEMDATE");
thumb = clickedListItem.getThump();
artwork.setImageResource(thumb);
header = clickedListItem.getHeader();
artistName.setText(header);
log = clickedListItem.getLog();
songName.setText(log);
}
}
}
我希望这个问题能够清晰而愉快地阅读你的帮助。 快乐的编码