Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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 使用意图设置imageview颜色(另一个活动)_Java_Android_Android Intent_Imageview - Fatal编程技术网

Java 使用意图设置imageview颜色(另一个活动)

Java 使用意图设置imageview颜色(另一个活动),java,android,android-intent,imageview,Java,Android,Android Intent,Imageview,首先,我的目标是当用户在另一个活动中单击颜色选项时,在一个活动中设置imageview背景颜色。但我不知道如何使用intent。也许我需要学习更多 这是我在第一个活动中的代码 public class Games1 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon

首先,我的目标是当用户在另一个活动中单击颜色选项时,在一个活动中设置imageview背景颜色。但我不知道如何使用intent。也许我需要学习更多

这是我在第一个活动中的代码

public class Games1 extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.games1);

    ImageView wire1 = (ImageView)findViewById(R.id.imageView1);
    ImageView wire2 = (ImageView)findViewById(R.id.imageView2);
    ImageView wire3 = (ImageView)findViewById(R.id.imageView3);
    ImageView wire4 = (ImageView)findViewById(R.id.imageView4);
    ImageView wire5 = (ImageView)findViewById(R.id.imageView5);
    ImageView wire6 = (ImageView)findViewById(R.id.imageView6);
    ImageView wire7 = (ImageView)findViewById(R.id.imageView7);
    ImageView wire8 = (ImageView)findViewById(R.id.imageView8);

    wire1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();




        }
    });

    wire2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire5.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire6.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire7.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });

    wire8.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            DJ.keepMusicOn();

        }
    });





}
这是我的第二个活动代码(用户选择颜色)

最后,这是第二个活动的“.xml”(用户选择颜色)



您好,您可以轻松完成此任务。 首先,添加枚举或给每种颜色一个代码 红色1个 黑色2号 3.橘子等。 然后使用intentobject.putextra(“key”,value)在value pass selected色码中传递intent。 然后在第一个活动中检查颜色代码,并根据颜色代码更改颜色

Intent colorIntent = new Intent(SelectColor.this, Games1.class);
colorIntent.putExtra("colorCode",1);
startActivity(colorIntent);
在第二个活动中

Intent colorIntent = getIntent();
int colorCode= intent.getIntExtra("colorCode"); 
switch(colorCode)
{
    case 1:
          image.setBackgroundResource(R.color.Red);
          break;
    case 2:
          image.setBackgroundResource(R.color.Black);
          break;
   case 3:
          image.setBackgroundResource(R.color.Orange);
          break;
} 

您好,您可以轻松完成此任务。 首先,添加枚举或给每种颜色一个代码 红色1个 黑色2号 3.橘子等。 然后使用intentobject.putextra(“key”,value)在value pass selected色码中传递intent。 然后在第一个活动中检查颜色代码,并根据颜色代码更改颜色

Intent colorIntent = new Intent(SelectColor.this, Games1.class);
colorIntent.putExtra("colorCode",1);
startActivity(colorIntent);
在第二个活动中

Intent colorIntent = getIntent();
int colorCode= intent.getIntExtra("colorCode"); 
switch(colorCode)
{
    case 1:
          image.setBackgroundResource(R.color.Red);
          break;
    case 2:
          image.setBackgroundResource(R.color.Black);
          break;
   case 3:
          image.setBackgroundResource(R.color.Orange);
          break;
} 

您可以根据您的
意图
putExtra
并传递所需的
颜色

blue.setOnClickListener(new ImageView.OnClickListener() {

       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("desireColor","blue");
           startActivity(myIntent);
       }
   });
在您的
Game1.class的
onCreate()方法中

Intent intent = getIntent();
String yourColor= intent.getStringExtra("desireColor"); // for this example you will get blue color

if(yourColor.equals("blue"){
   image.setBackgroundResource(R.color.blue);
} else {
 // and so on for other images
}

你有了自己的颜色,现在你可以随心所欲了。

你可以用你的
意图
把额外的
传递给你想要的
颜色

blue.setOnClickListener(new ImageView.OnClickListener() {

       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("desireColor","blue");
           startActivity(myIntent);
       }
   });
在您的
Game1.class的
onCreate()方法中

Intent intent = getIntent();
String yourColor= intent.getStringExtra("desireColor"); // for this example you will get blue color

if(yourColor.equals("blue"){
   image.setBackgroundResource(R.color.blue);
} else {
 // and so on for other images
}

你有了自己的颜色,现在你可以随心所欲了。

你需要在意图中添加一个表示颜色id的指示。 用您自己的颜色资源替换android.R.color.holo_blue_dark

 blue.setOnClickListener(new ImageView.OnClickListener() {
       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("color",android.R.color.holo_blue_dark)
           startActivity(myIntent);
       }
   });
然后,将颜色提取到资源“yourColor”中,并根据您的意愿使用它

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.games1);
    int yourColor = getIntent().getExtras().getInt("color");
    ...
}

您需要在意图中添加表示颜色id的指示。 用您自己的颜色资源替换android.R.color.holo_blue_dark

 blue.setOnClickListener(new ImageView.OnClickListener() {
       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("color",android.R.color.holo_blue_dark)
           startActivity(myIntent);
       }
   });
然后,将颜色提取到资源“yourColor”中,并根据您的意愿使用它

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.games1);
    int yourColor = getIntent().getExtras().getInt("color");
    ...
}

中选择颜色活动

blue.setOnClickListener(new ImageView.OnClickListener() {

       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("ImageColor", Color.BLUE);
           startActivity(myIntent);
       }
   });
然后在
游戏1活动中
检索所选颜色:

Bundle extras = getIntent().getExtras();
if (extras != null) {
    int color = extras.getInt("ImageColor");
    wire1.setBackgroundColor(color);
}

中选择颜色活动

blue.setOnClickListener(new ImageView.OnClickListener() {

       @Override
       public void onClick(View v) {
           DJ.keepMusicOn();
           Intent myIntent = new Intent(SelectColor.this, Games1.class);
           myIntent.putExtra("ImageColor", Color.BLUE);
           startActivity(myIntent);
       }
   });
然后在
游戏1活动中
检索所选颜色:

Bundle extras = getIntent().getExtras();
if (extras != null) {
    int color = extras.getInt("ImageColor");
    wire1.setBackgroundColor(color);
}