从微调器中选择的项目会导致TextView自动更改

时间:2013-07-21 15:41:25

标签: java android android-layout textview android-spinner

我按照步骤选择了如何根据所选项目更改textview的值,这里是一段代码

public void onCreate(Bundle savedInstanceState){.......

     final TextView privacyTextView = (TextView) findViewById(R.id.eventPrivacy);

            privacySpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View v, int position, long id3) {
                    final String selectedItem =  parent.getItemAtPosition(position).toString();  
                         privacyTextView.setText(selectedItem);
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });

列表是:

  <string-array name="privacy_levels">
        <item>Everyone</item>
        <item>Friends of Friends</item>
        <item>Friends Only</item>
        <item>Customize</item>
    </string-array>

我的文字视图值为privacy,在运行应用时会自动更改为Everyone - 列表中的第一个 - 所以出了什么问题?!!!

4 个答案:

答案 0 :(得分:0)

Spinner xml中添加android:prompt并设置名称,如

android:prompt="Privacy";

因此,第一次显示隐私时,用户可以从下拉列表中进行选择。

答案 1 :(得分:0)

试试这个......!

final String selectedItem = parent.getSelectedItem()。toString()。trim();
                     privacyTextView.setText(将selectedItem);

答案 2 :(得分:0)

如果您想将第一项作为隐私,则需要在阵列中添加另一项隐私

有一个名为android:spinnerMode的属性,用于将微调器作为对话框或下拉列表以两种模式获取。

其中属性android:prompt是在打开后获取微调器标题或标题(在对话模式下)。

答案 3 :(得分:0)

试试这个,这样你就可以选择字符串:

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