如何通过其他活动更改 ImageButton ? 例: 我在MainActivity.class中有imageButton,当我点击另一个活动中的按钮时,更改了MainActivity.class中的ImageButton
由于
答案 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);
}