我尝试从我的微调器数组中检索一个对象并将其设置为某个常量,在这种情况下" EFFECT_AQUA"
我的阵列
String[] spinnerValues = {"Aqua", "Mono", "Blackbird", "Negative"};
当用户点击" Aqua"在微调器中我希望屏幕变为Aqua。
我的微调器被设置并调用
Spinner mySpinner = (Spinner) findViewById(R.id.spinner_show);
mySpinner.setAdapter(new MyAdapter(this,R.layout.custom_spinner,spinnerValues));
但不确定我应该怎样接近。看到许多不同的答案,但没有发现任何工作。
我知道我的开关会出现在这部分
class SpinnerActivity extends Activity implements AdapterView.OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
}
任何帮助都是适当的!!
答案 0 :(得分:0)
如果要在项目单击时从微调器数组中检索对象,可以使用方法onItemSelected
中的position参数轻松完成。
例如: -
class SpinnerActivity extends Activity implements AdapterView.OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String itemSelected = spinnerValues[position];
//Set this to a constant
}
}
现在,如果您选择 Aqua ,则代码会将变量itemSelected设置为 Aqua 。
我希望这就是你需要的东西
答案 1 :(得分:0)
final Spinner cardStatusSpinner1 = (Spinner)findViewById(R.id.text_interested);
String cardStatusString;
cardStatusSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
cardStatusString = parent.getItemAtPosition(pos).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
答案 2 :(得分:0)
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
将下面的代码放在首先获取该项目,然后您可以通过采用aqua或任何颜色等值进行操作。
spinner = (Spinner)findViewById(R.id.spinner1);
spinner.setAdapter(new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_expandable_list_item_1,spinnerValues));
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
TextView tv = (TextView)view;
Toast.makeText(getApplicationContext(), tv.getText().toString(), 5000).show();
switch(tv.getText().toString()){
case "Aqua":{
//change the color to aqua
break;
}
case " ...":{
//
break;
}
//.... for all the option
}
}