当通过适配器打开 sub-Activity 时,将数据从 MainActivity 传递到 sub-Activity?

Passing data from MainActivity to sub-Activity when sub-Activity is opened through an Adapter?

所以我的标题可能很难理解,但我会尝试在下面阐明和扩展我的问题。

我对问题的描述是否有意义?希望如此!否则让我知道我如何澄清它!如果您需要我粘贴任何代码,也请告诉我。

感谢您的帮助!

您可以使用 EventBus (greenrobot) 不错的库来发送事件 linke

发送事件

添加库后,将下面的方法添加到您的主程序中 activity:

@Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent(MessageEvent event) 

不要忘记注册和取消注册订阅者,这样做:

 @Override
public void onStart() {
 super.onStart();
 EventBus.getDefault().register(this);
}

 @Override
public void onStop() {
 super.onStop();
 EventBus.getDefault().unregister(this);
}

终于 post 你的活动来自世界各地,就像你的子activity :

EventBus.getDefault().postSticky(new MessageEvent());

注意:我添加了postSticky();将数据缓存在内存中,然后可以将粘性事件传递给订阅者或显式查询。

更好的解决方案

但我认为您可以在购买后在 Sharedpreferences 中保存价值:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, 
 MODE_PRIVATE).edit();
 editor.putBoolean("pay", true);
 editor.apply();

然后在 onCreat 方法上每隔 Activity 检查这个值 显示添加或不添加

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
pay = prefs.getBoolean("pay", false);
if (pay) {

    show();
 }else dontShow();