android - 无法读取 Android Spinner 值

标签 android spinner

我是 Android 开发新手,只是尝试各种示例来熟悉。 我无法读取和显示微调器工具中的值。

查看了 Stackoverflow 和其他网站的各种示例,但仍然得到空白值。

请让我知道我错过了什么。

public void onClick(View view) {
    EditText weight = (EditText)findViewById(R.id.editText1);
    EditText height = (EditText)findViewById(R.id.editText2);

    TextView output = (TextView)findViewById(R.id.textView3);

    Spinner wtype = (Spinner)findViewById(R.id.spinner1);
    Spinner htype = (Spinner)findViewById(R.id.spinner2);

    String w = weight.getText().toString();
    String h = height.getText().toString();
    String s1 = wtype.getSelectedItem().toString();
    String s2 = htype.getSelectedItem().toString();

    output.setText(w+h+s1+s2);
}

在上面的代码中,显示了 w 和 h 的值,而 s1 和 s2 的值并不适合所有条件...

这只是一个简单的体重指数计算器。 strings.xml 包含以下文本。

<string-array name="weight_type">
    <item>kgs</item>
    <item>pounds</item>
</string-array>
<string-array name="height_type">
    <item>metres</item>
    <item>feet</item>
    <item>inches</item>
</string-array>

默认情况下,显示公斤和米。我单击按钮打印 2 个默认值,但没有任何反应。 我尝试更改下拉值并再次单击该按钮。

还是没有结果!!!!

尝试使用 http://www.mkyong.com/android/android-spinner-drop-down-list-example/ 中的示例 我仍然无法得到结果。唯一的区别是我没有使用 TOAST,而是尝试将输出写入 TextView...

任何人都可以发布工作代码吗!!!

最佳答案

首先必须在 onCreate() 方法中声明 findViewById。

然后如下所示,将所选项目放入字符串中:

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View arg1,
                    int pos, long arg3) 
            {
            // TODO Auto-generated method stub
               String s1 = parent.getItemAtPosition(pos).toString();
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });

然后在你的 onClik 方法中你只需设置文本:

String w = weight.getText().toString();
String h = height.getText().toString();
String s1 = wtype.getSelectedItem().toString();
String s2 = htype.getSelectedItem().toString(); // Just like S1 as above make another Spinner S2 Listener.

output.setText(w+h+s1+s2);

关于android - 无法读取 Android Spinner 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737352/

相关文章:

java - 如何正确引用 Spinner 条目?

java - 如何通过选择微调器来启用或禁用 editText

android - 如何让 android 微调器从 tblContacts 中选择

android - 如何提高android中的OpenCV人脸检测性能?

android - 卡在 android studio 中的 Gradle : Download maven-metadata. xml

android - 单击 Android Spinner 仅在模拟器上抛出 NullPointerException

java - 如何在 JavaFX Spinner 组件中启用上/下键

android - 使用 Android AccountManager Twitter 凭据创建 Twitter4J AccessToken

android - 为什么淡入淡出过渡不适用于共享元素

Java/Kotlin 等效于 Swift [字符串 : [String : Any]]