Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 两个活动之间通信的广播接收器或接口?_Java_Android_Interface_Broadcastreceiver - Fatal编程技术网

Java 两个活动之间通信的广播接收器或接口?

Java 两个活动之间通信的广播接收器或接口?,java,android,interface,broadcastreceiver,Java,Android,Interface,Broadcastreceiver,我应该使用接口还是广播接收器在两个活动之间发送数据 对于片段和活动之间的通信,我选择了一个接口,但我也可以在两个活动之间使用接口吗 两者都有相同的功能,但我更喜欢哪一种进行活动对活动的交流 我的片段活动界面 public class MainActivity extends AppCompatActivity implements SongsFragment.OnClickSong { ... } @Override public void onClickSongTab1(int posit

我应该使用接口还是广播接收器在两个活动之间发送数据

对于片段和活动之间的通信,我选择了一个接口,但我也可以在两个活动之间使用接口吗

两者都有相同的功能,但我更喜欢哪一种进行活动对活动的交流

我的片段活动界面

public class MainActivity extends AppCompatActivity implements SongsFragment.OnClickSong { 
... }

@Override
public void onClickSongTab1(int position, ArrayList<Song> songs) {
...
}
活动

public class MainActivity extends AppCompatActivity implements SongsFragment.OnClickSong { 
... }

@Override
public void onClickSongTab1(int position, ArrayList<Song> songs) {
...
}
public类MainActivity扩展AppCompatActivity实现SongsFragment.OnClickSong{
... }
@凌驾
public void onclicksongtab 1(int位置,数组列表歌曲){
...
}
片段

public interface OnClickSong{
    void onClickSongTab1(int position, ArrayList<Song> songList);
}

@Override
public void onClickSong(int position, ArrayList<Song> songList) {

    onClickSongListener.onClickSongTab1(position, songList);

}
公共接口OnClickSong{ void onClickSongTab1(int位置,ArrayList歌曲列表); } @凌驾 public void onClickSong(int位置,ArrayList歌曲列表){ onClickSongListener.onClickSongTab1(位置,歌曲列表); } 编辑


我想向已经运行的活动发送数据。

对于活动与活动之间的通信,您可以将Intent与其他捆绑包一起使用

Intent intent = new Intent(this, <Activity destination class type>);
intent.putExtra("<key>",<value>);
startActivity(intent);
Intent-Intent=新意图(此,);
意图。额外加价(“,”);
星触觉(意向);

对于活动对活动的通信,您可以将意图与其他捆绑包一起使用

Intent intent = new Intent(this, <Activity destination class type>);
intent.putExtra("<key>",<value>);
startActivity(intent);
Intent-Intent=新意图(此,);
意图。额外加价(“,”);
星触觉(意向);

实际上,Android 2中的活动一次都不存在。如果我们从一个活动导航到另一个活动,源活动将进入on stop状态。之后,您只能使用开始活动或popbackstack返回。如果您使用的是popback堆栈,那么可以使用setResult()而不是start activity。对,但我想实现的是,我当前的活动不会消失,但确实会将我的数据发送到我的其他活动,但仍会显示我的第一个活动。能否显示用于一次显示2个活动的代码段。?不,我不会同时显示2个活动,我错了,但是我从我的MainActivity转到我的第二个activity,我想在不显示我的MainActivity的情况下将数据从我的第二个activity发送到我的MainActivity实际上在Android 2中activities一次都不存在。如果我们从一个活动导航到另一个活动,源活动将进入on stop状态。之后,您只能使用开始活动或popbackstack返回。如果您使用的是popback堆栈,那么可以使用setResult()而不是start activity。对,但我想实现的是,我当前的活动不会消失,但确实会将我的数据发送到我的其他活动,但仍会显示我的第一个活动。能否显示用于一次显示2个活动的代码段。?不,我不会同时显示2个活动,我错了,但我从主活动转到第二个活动,我想在不显示主活动的情况下将数据从第二个活动发送到主活动