繁体   English   中英

Android微调器位置未更新

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM