如何通过其他活动更改ImageButton?

时间:2015-03-15 22:08:15

标签: java android android-studio

如何通过其他活动更改 ImageButton ? 例: 我在MainActivity.class中有imageButton,当我点击另一个活动中的按钮时,更改了MainActivity.class中的ImageButton

由于

1 个答案:

答案 0 :(得分:0)

您可以在Activity中实现本地广播接收器,您可以从中访问ImageButton。此接收器将能够听到消息并执行您指定的响应。

因此,当您想要更改ImageButton时,您可以从第一个将接收的另一个Activity发送一条消息,并将更改ImageButton。此消息将采用Intent形式,并且可以包含许多附加内容。

修改

在您的活动#1(控制ImageButton的人)

public void onCreate(Bundle savedInstanceState){
   ...
    LocalBroadcastManager.getInstance(this).registerReceiver(mLocalBroadcastReceiver, new IntentFilter("broadcastName"));
}

private BroadcastReceiver mLocalBroadcastReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        //MODIFY YOUR IMAGE BUTTON HERE

    }
};

在您的活动#2(广播发件人)

当您要发送消息以更新ImageButton 时,请在此活动的任何部分调用sendLocalBroadcast()。当然,您可以根据需要添加许多参数。

private void sendLocalBroadcast() {
        Intent intent = new Intent("broadcastName");
        LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent);
}