java - 如何从 onItemSelected() 方法返回的 View 对象中获取字符串

标签 java android spinner android-arrayadapter android-adapter

onItemSelected() 方法应该返回一个 View 作为它的对象之一,在这种情况下,它是一个 textView,通过在 Logcat 中获取对象的描述和散列来验证,所以 View 实际上是一个 TextView。此处显示的方法返回的 View

 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

如何获取存储在该 View 中的文本字符串?例如,如果你这样做,

 view.getText();

它应该返回存储在 textView 中的字符串,但不起作用

但是我尝试了很多不同的方法,比如将 View 转换为 TextView 以从 View 中获取存储的字符串,但这些方法都不起作用。我的一次失败尝试是这样的

  ((TextView) view).getText()

如何从 onItemSelected 回调方法返回的 View 中获取字符串?

ArrayList 加载了 String 并放入此处所示的适配器中,

  public class SpinnerAdapter extends ArrayAdapter<String>{
    ArrayList<String> objects;
    Context context;
    int textViewResourceId;

    public SpinnerAdapter(Context context, int textViewResourceId, ArrayList<String> objects) {
        super(context, textViewResourceId, objects);
        this.context = context;
        this.textViewResourceId = textViewResourceId;
        this.objects = objects;
    }



  spinnerOne.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    // TODO Auto-generated method stub
                    Toast.makeText(StandardSelectionSettingsSmallTank.this, "id returned "+ Long.toString(id) , Toast.LENGTH_SHORT).show();
                    Toast.makeText(StandardSelectionSettingsSmallTank.this, "view returned "+ ((TextView) view).getText() , Toast.LENGTH_SHORT).show();

            }

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

                }

            });

        }

编辑:我刚刚尝试了以下代码,它正在做我需要做的事情。它获取存储在微调器当前位置的字符串。我之前用 ArrayList 加载的字符串。这是有效的,所以我想我将使用它而不是使用 onItemSelected 方法返回的 View 对象。

字符串选择 = spinnerOne.getSelectedItem().toString();

除非有人知道如何通过使用 View 对象以其他方式做到这一点,否则我将使用它

最佳答案

勾选这个。

parent.getItemAtPosition(position).toString() in place of  `((TextView) view).getText()`

关于java - 如何从 onItemSelected() 方法返回的 View 对象中获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825070/

相关文章:

java - 列表过程中的无限循环

javascript - 在调用 request.getRequestDispatcher() JSP 之前修改 HTML 内容?

android - Sugar Orm:Order By 相关表

android:有没有办法水平翻转布局?

android - 在 "Adapter"上用于两个(或更多)父 View ?

java - 在 Android Spinner 中设置值和显示文本

android - 删除 android Spinner 中的间距或填充

java - 如何使用java获取数据库状态?

java - 返回到程序的开头

IntelliJ 12 中的 Android Hello World - 找不到 android.app.Activity 类