为什么 'spinner.getSelectedItem' 只检索列表中的第一项?

我的应用程序中有一个微调器,我(显然)希望应用程序根据用户从微调器列表中选择的项目来执行操作。但是,使用这个:


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

仅检索列表中的第一项。我还需要它在String,因为然后我使用这样的项目if:


TextView textView = (TextView)findViewById(R.id.textView);

if (itemFromSpinner == "Mars") {

textView.setText("The fourth planet.");

} else {}

代码本身将变得更加复杂。无论如何,这是我的微调器 XML 文件:


<string-array name="planets_array">

        <item>Mercury</item>

        <item>Venus</item>

        <item>Earth</item>

        <item>Mars</item>

        <item>Jupiter</item>

        <item>Saturn</item>

        <item>Uranus</item>

        <item>Neptune</item>

</string-array>

编辑 这是代码spinner:


Spinner spinner = (Spinner) findViewById(R.id.spinner);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,

        R.array.planets_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);


森林海
浏览 102回答 1
1回答

扬帆大鱼

尝试在 onCreate 中为您的微调器创建一个侦听器spinner.setOnItemSelectedListener(new OnItemSelectedListener() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public void onItemSelected(AdapterView<?>arg0, View view, int arg2, long arg3) {&nbsp; &nbsp; &nbsp; &nbsp; String selected_val= spinner.getSelectedItem().toString();&nbsp; &nbsp; &nbsp; &nbsp; Toast.makeText(getApplicationContext(), selected_val ,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Toast.LENGTH_SHORT).show();&nbsp; &nbsp; }&nbsp; &nbsp; @Override&nbsp; &nbsp; public void onNothingSelected(AdapterView<?> arg0) {&nbsp; &nbsp; &nbsp; &nbsp; // TODO Auto-generated method stub&nbsp; &nbsp; }});祝你好运
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java