[英]Android spinner location not updating
我有一个装有字符串数组的微调器。 按下按钮时,将填充微调框。 即使我使用微调器并选择说game_3,输出也始终是game_0。 这是因为它在函数中吗?
public void game(View view) throws IOException {
myText="";
TextView myTextView= (TextView)findViewById(R.id.textView1);
String game_list[] = {"game_0","game_2","game_3","game_3","game_4","game_5"};
for(int i=0; i<game_list.length; i++){
myText = myText + game_list[i] +"\n";
}
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_spinner_item, game_list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
String text = spinner.getSelectedItem().toString();
myTextView.setText("");
myTextView.append(text);
}
您什么时候调用您的game(View v)
方法? 微调器初始化之间没有空间来执行用户操作spinner.setAdapter(adapter);
以及提取选定值的行,该值显然是(默认情况下)数组的第一个...“ game_0”。
您可以使用OnItemSelectedListener侦听微调器上的用户操作,也可以使用带有单击侦听器的按钮在提交时检查微调器值。
这是一个应用于微调器的选定侦听器的示例:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// here get the selected value and do whatever you want
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// ignore this if you're not going to provide a "no-selection" option
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.