繁体   English   中英

如何通过按下另一个活动按钮上的按钮来永久更改我的按钮颜色

[英]How to change my button color permanent from pressing button on another activity button

这是我的第一个活动,我想通过在另一个活动上按下按钮来更改按钮颜色

    public void colorchangeOnfirstActivity(){
        Button btnA = (Button) findViewById(R.id.asmat_btn);     
btnA.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
    }

这是第二个活动按钮所在的第二个活动。

Button btnB = (Button) findViewById(R.id.rose_btn);
  btnB.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            asmat_activity secondActivity = new asmat_activity();
            asmat_activity.colorchangeOnfirstActivity();
        }
    });

活动不应该直接相互影响。 通常,如果您想对另一个活动中的操作做出响应,您应该使用活动结果 API。

因此,例如,您可以使用请求代码启动辅助活动:

// The request code can be any integer value you wish
startActivityForResult(activityIntent, MY_REQUEST_CODE);

然后在您的新 Activity 中,您可以设置要传送回启动它的 Activity 的结果。 在你的情况下,是这样的:

btnB.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // This will deliver the result to the requesting Activity
        setResult(RESULT_OK);
        finish();
    }
}

然后在您的第一个 Activity 中,您将覆盖onActivityResult来处理结果:

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    if (requestCode == MY_REQUEST_CODE) {
        btnA.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM