Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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 - Fatal编程技术网

Java 如何从按下另一个活动按钮上的按钮更改我的按钮永久颜色

Java 如何从按下另一个活动按钮上的按钮更改我的按钮永久颜色,java,android,Java,Android,这是我的第一个活动,我想通过按另一个活动上的按钮来更改按钮颜色 public void colorchangeOnfirstActivity(){ Button btnA = (Button) findViewById(R.id.asmat_btn); btnA.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark)); } 这是我的第二个活动,其中第二个活动按钮是 Bu

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

    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);
然后在新活动中,您可以设置一个结果,将其传递回启动它的活动。在您的情况下,类似于:

btnB.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // This will deliver the result to the requesting Activity
        setResult(RESULT_OK);
        finish();
    }
}
然后,在第一个活动中,您将覆盖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);
    }
}

我将非常感谢你,如果你解决它,我在这个项目上从上一个星期,请检查这个链接,使你了解它非常好,先生。