繁体   English   中英

微调开关案例问题

[英]Spinner Switch Case Problem

编辑:我已经添加了我所有的代码(不包括程序包和导入.....),如果我尝试运行它,它将崩溃……任何想法为何?

public class BaseConverter extends Activity {
/** Called when the activity is first created. */
int inputBase;
int outputBase;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Spinner input_spinner = (Spinner) findViewById(R.id.InputSpinner);
    Spinner output_spinner = (Spinner) findViewById(R.id.OutputSpinner);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.base_numbers_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    input_spinner.setAdapter(adapter);
    output_spinner.setAdapter(adapter);

    input_spinner.setOnItemSelectedListener(new InputItemSelectedListener());

    output_spinner.setOnItemSelectedListener(new OutputItemSelectedListener());
}

public class InputItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id)
        {
        /*  switch (Integer.parseInt(parent.getItemAtPosition(pos).toString())
            case ((Integer)parent.getItemAtPosition(pos)).intValue(); 
                inputBase = 2;
                break;
            case 8:
                inputBase = 8;
                break;
            case 10;
                inputBase = 10;
                break;
            case 16;
                inputBase = 16;
                break;
                */

        Toast.makeText(parent.getContext(), "You selected input base " +
                parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show();
        }

    public void onNothingSelected(AdapterView parent) 
    {
      // Do nothing.
    }
}

public class OutputItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) { 
      Toast.makeText(parent.getContext(), "You selected output base " +
          parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show();
    }

    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
    }
} 

}

并且现在需要进行切换-案例场景,所有场景都围绕他们选择的值。 它们都是数字(选择项),并存储在Integer数组中。 如何正确设置开关盒? 我尝试做一个简单的事情

 case ((Integer.parseInt(parent.getItemAtPosition(pos).toString())

所以我想通了。 您需要将数组设置为STRING数组,并使用:ArrayAdapter adapter = new ArrayAdapter

等等.....

然后使用

Integer.parseInt(parent.getItemAtPosition(position).toString());

查找所选内容的数值。 注意:它必须全部为数字,否则会给您带来错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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