Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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_Android Studio - Fatal编程技术网

Java 如果选择了特定项目,如何从微调器中获取选择项目并更改图像?

Java 如果选择了特定项目,如何从微调器中获取选择项目并更改图像?,java,android,android-studio,Java,Android,Android Studio,我想从微调器中获取所选项目,例如,如果选择了表2,我想将ImageView的src更改为另一个图像。以下是我迄今为止所尝试的: public class Tables extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi

我想从微调器中获取所选项目,例如,如果选择了
表2
,我想将
ImageView
src
更改为另一个图像。以下是我迄今为止所尝试的:

public class Tables extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tables);
    Spinner dropdown = findViewById(R.id.spinner1);
    ImageView imageView = findViewById(R.id.q1);
    String[] items = new String[]{"Table 1", "Table 2"};
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items);
    dropdown.setAdapter(adapter);
    String text = dropdown.getSelectedItem().toString();

    if (text.equals("Table 1"))
    {
        imageView.setVisibility(View.VISIBLE);
    }
    if (text.equals("Table 2")){
        imageView.setImageResource(R.drawable.i2);
    }
}
}
公共类表扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_表);
微调器下拉列表=findViewById(R.id.spinner1);
ImageView ImageView=findViewById(R.id.q1);
字符串[]项=新字符串[]{“表1”、“表2”};
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple\u微调器\u下拉菜单\u项,项);
下拉列表.setAdapter(适配器);
字符串文本=下拉列表。getSelectedItem().toString();
if(文本等于(“表1”))
{
设置可见性(View.VISIBLE);
}
if(文本等于(“表2”)){
setImageResource(R.drawable.i2);
}
}
}

您正在寻找类似于以下内容的内容来收听所选内容:

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

                String items = spinner.getSelectedItem().toString();


                if (items.equals("Table 1")){
                   imageView.setVisibility(View.VISIBLE);

                } else if (items.equals("Table 2") {

                   imageView.setImageResource(R.drawable.i2); 

                }


            @Override
            public void onNothingSelected(AdapterView<?> arg0) {

            }

        });
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、内部arg2、长arg3){
String items=spinner.getSelectedItem().toString();
if(项目等于(“表1”)){
设置可见性(View.VISIBLE);
}else if(项目等于(“表2”){
setImageResource(R.drawable.i2);
}
@凌驾
未选择公共无效(AdapterView arg0){
}
});

您需要在
下拉列表中为正在单击的项目或选择更改事件注册一个侦听器,然后从结果中读取选择。