Android Spinner在代码后面获得字符串位置



我有一个旋转器,我会捕捉到这样的单击:

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        position = pos;
    }
    public void onNothingSelected(AdapterView<?> arg0) {
    }

我想检查字符串,例如String example = "example"是否在Spinner ItemList中并获得其位置,是否可能?

 spinner.getSelectedItem().toString();

您可以获取当前选择的文本。用

spinner.getSelectedItemPosition();

您可以获得当前位置。您可以像这样比较选定的字符串:

if(spinner.getSelectedItem().toString().equals("example")){
//do something
};
for (int i = 0; i < adapter.getCount(); i++) {
    if (mSpinner.getItemAtPosition(i).equals(MY_STRING)) {
        mSpinner.setSelection(i);
        break;
    }
}

如果您希望在Spinner Init onNothingSelected上设置一个项目,因为此回调仅在可用项目列表中删除时才调用此回调。

选择从此消失时要调用的回调方法看法。例如,当触摸激活时,选择可能会消失或当适配器变为空时。

docs

最新更新