java - Android putExtra 推送数据使用相同的按键从不同的按钮

标签 java android

我有一个代码,使用 putextra 方法将数据从 Activity 推送到另一个 Activity ,我想使用相同的键推送不同的值 代码:

String int_value = "int_value";

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

    Button btn1 = (Button) findViewById(R.id.btn1);
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(MainActivity.this, SecondScreen.class);
            intent.putExtra(int_value , 0);
            startActivity(intent);
        }
    });

    Button btn2 = (Button) findViewById(R.id.btn2);
    btn2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(MainActivity.this, SecondScreen.class);
            intent.putExtra(int_value , 1);
            startActivity(intent);
        }
    });

在下一个 Activity 中:

int value;
String int_value = "int_value";

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

    Intent intent = getIntent();
    int temp = intent.getIntExtra(int_value, value);


    myLayout = findViewById(R.id.myLayout);

    switch (value){

        case 0:
            myLayout.setBackgroundResource(R.drawable.a);
            Log.e("VALUE" , String.valueOf(value));
            break;
        case 1:
            myLayout.setBackgroundResource(R.drawable.b);
            Log.e("VALUE" , String.valueOf(value));
            break;

    }

但是背景总是变成a.jpg,尽管我通过了0和1(或者至少我认为我做到了......) 这里有什么问题吗?

最佳答案

只需将开关中的值更改为temp

switch ( temp){

    case 0:
        myLayout.setBackgroundResource(R.drawable.a);
        Log.e("VALUE" , String.valueOf(value));
        break;
    case 1:
        myLayout.setBackgroundResource(R.drawable.b);
        Log.e("VALUE" , String.valueOf(value));
        break;

}

because you are saving the value inside temp

int temp = intent.getIntExtra(int_value, value);

关于java - Android putExtra 推送数据使用相同的按键从不同的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44051945/

相关文章:

java - Spring-WS:自动wsdl故障生成/关联

java - IDE 支持 Spring 框架;它们值得使用吗?

java - 如何使用新的 Bouncy CaSTLe 库从 PKCS10CertificationRequest 获取公钥?

安卓。从其资源 id 获取图像大小

java - 无法在屏幕上正确显示用户和接收者发送的聊天

java - AAPT : error: duplicate value for resource 'attr/progress' with config ''

android - 下载时播放 mp3 文件?

android - 在实例方法内部调用 startActivity() - 导致 NullPointerException

java - Apache Hadoop 2.2 中的 org.apache.hadoop.mapreduce 导入问题

java - 以编程方式在 TextView 中显示字符串选项卡