Android:setSelection 对 Spinner 没有影响

标签 android spinner

我在 Spinner 上的 setSelection 遇到了一些问题。当微调器显示在代码中时,我将值设置为预选,但它没有效果,并且始终选择列表中的第一个替代项。代码如下所示:

LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View dialogView = li.inflate(R.layout.edit_event, null);
...
ArrayList<String> routes = new ArrayList<String>();
// routes filled with values at runtime
...
ArrayAdapter<String> aa = new ArrayAdapter<String>(GOFdroid.this, android.R.layout.simple_spinner_item, routes);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  
Spinner destSpinner = (Spinner) dialogView.findViewById(R.id.edit_event_destination);
  
String dest = events.get(pos).getDestination();
int routesPos = routes.indexOf(dest);
Log.d(TAG, "Dest: " + dest + ", pos: " + routesPos);
destSpinner.setSelection(routesPos);
   
destSpinner.setAdapter(aa);

除了 setSelection 部分之外,代码按预期工作,我就是不知道为什么。

微调器的 XML 布局如下所示(不是整个布局,只有微调器部分):

// DESTINATION
<TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="Destination:" />
<Spinner
   android:id="@+id/edit_event_destination"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:prompt="@string/choose_dest"
   android:layout_marginBottom="10dip"
   android:text="" />

非常感谢您的帮助!

最佳答案

尝试在调用 setAdapter() 之后将调用移动到 setSelection()

关于Android:setSelection 对 Spinner 没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1484528/

相关文章:

java - 由 : java. io.NotSerializedException : android.net.Uri$StringUri 引起

java - 如何在 Android 的 PopupWindow 中创建一个 Spinner 小部件?单击 Spinner 时获取 BadTokenException

android - Spinner setonitemselectedlistener 未被调用

java - SimpleDateFormat 显示错误的本地时间

java - 在 ArayAdapter 中使用 Spinner 对空对象引用调用 'java.lang.String java.lang.Object.toString()'

android - 你如何使用一个加载占位符,它是一个带有图像加载器(如 Glide、Picasso 等)的动画微调器?

使用游标适配器的android微调器默认值

android - IntelliJ 主项目 View 中的 "External Libraries"条目是什么意思?

java - CPU 资源和时钟周期 : System. out.println 或递增标志

java - Android Annotation处理器访问资源(assets)