这是我在这里发表的第一篇文章,所以它可能做得不太好...我是一名软件开发学生,现在我正在学习 Android 应用程序开发。
我被要求制作一个带有 4 个复选框的程序,这样当我选中其中任何一个时,应用程序就会显示一张特定的图片。例如。
复选框 1:人员。
复选框 2:汽车。
复选框 3:街道。
复选框 4:音乐。
如果我检查 1(人)和 2(汽车),它应该在同一张图片中显示一个人和一辆车......我正在研究这个。我认为这是制作该程序的好方法,但我不知道如何使其正常工作。我尝试这样做:
MainActivity.Java:
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
CheckBox cb1, cb2, cb3, cb4;
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb1 = findViewById(R.id.persona);
cb2 = findViewById(R.id.car);
cb3 = findViewById(R.id.calle);
cb4 = findViewById(R.id.music);
img = findViewById(R.id.imagen);
int pattern = (cb1.isSelected() ? 0b0001 : 0)
| (cb2.isSelected() ? 0b0010 : 0)
| (cb3.isSelected() ? 0b0100 : 0)
| (cb4.isSelected() ? 0b1000 : 0);
switch (pattern) {
// No selection
case 0b0000:
img.setImageResource(R.drawable.def);
break;
//Person
case 0b0001:
img.setImageResource(R.drawable.wick);
break;
//Car
case 0b0010:
img.setImageResource(R.drawable.car);
break;
}
}
}
但是当我运行应用程序时,它只显示默认图像(似乎只有 case 0b0000 有效?),即使我在 xml 中创建了一个特定的复选框选中=“true”...我也尝试为每个创建一个 onClick 事件复选框来拥有它,但似乎我没有以正确的方式使用模式变量。
如果我得到帮助,我将非常感激...我想我可以用 Ifs 来做到这一点,但我个人对我在帖子中读到的方式感兴趣哈哈哈。
Qyouu
相关分类