向同一活动发送2个不同意图的信息?

时间:2018-05-23 12:48:22

标签: android-intent

我是新编码并且面对这个问题,因为我在这里问了很多文章和视频(所以我很抱歉,如果这里有类似的问题,我从来没有找到它)

我正在制作一个播放歌曲的应用程序(现在没有声音)我有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);

        }

    }
}

我希望这个问题能够清晰而愉快地阅读你的帮助。 快乐的编码

0 个答案:

没有答案