mav*_*ros 5 java android android-layout android-xml android-spinner
我有两个微调器。其中之一在运行时填充。
groupSpinner.setAdapter(new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, groupNames));
Run Code Online (Sandbox Code Playgroud)
另一个是使用字符串数组预先填充在 XML 布局中。
<Spinner ...
android:entries="@array/my_items_here" />
Run Code Online (Sandbox Code Playgroud)
两个 Spinner 看起来都很好。但是,当他们的项目显示时,子布局dropdown在dialog模式和模式中都不匹配。我一定遗漏了一些非常简单的东西,但是如何将它们设置为使用相同的布局(希望如此android.R.layout.simple_spinner_item),而不创建我自己的自定义布局,或者在运行时加载 XML 字符串数组?
这似乎是一件基本的事情,但我找不到答案,而且我已经搜索了很多。
请参阅以下屏幕截图:
*请原谅在第二张图片中使用了希腊字符。我已经检查并确认问题与希腊字符的使用无关。
尝试这个 ((ArrayAdapter)preFilledSpinner.getAdapter()).setDropDownVie?wResource(android.R.??layout.simple_spinne??r_item);
要了解它是如何工作的,只需检查AppCompatSpinner和下面的代码是默认代码,AppCompatSpinner以了解当您传递条目时它是如何工作的。
final CharSequence[] entries = a.getTextArray(R.styleable.Spinner_android_entries);
if (entries != null) {
final ArrayAdapter<CharSequence> adapter = new ArrayAdapter<>(context,android.R.layout.simple_spinner_item, entries);
adapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
当我们通过 XML 传递条目时,他们将创建一个ArrayAdapter并应用adapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);您可以看到的代码,R.layout.support_simple_spinner_dropdown_item默认设置,这应该适用于参数,但不幸的是他们已经修复了
| 归档时间: |
|
| 查看次数: |
6277 次 |
| 最近记录: |