我以下面的方式声明我的Spinner(它非常静态,所以我有2个字符串数组array.xml用于标题和值)
<Spinner
android:id="@+id/searchCriteria"
android:entries="@array/searchBy"
android:entryValues="@array/searchByValues" />
Run Code Online (Sandbox Code Playgroud)
我希望spinner.getSelectedItem()返回一个数组,[title, value]
但事实上它只返回一个标题字符串.它无视
android:entryValues吗?我如何获得价值,而不是它的标题?这仅适用于XML还是我需要创建适配器并以编程方式执行?
当我实例化我的ArrayAdapter(编译正常)时,我收到以下警告:
warning: [unchecked] unchecked call to ArrayAdapter(android.content.Context,int,java.util.List<T>) as a member of the raw type android.widget.ArrayAdapter
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(CFAMain.this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
Run Code Online (Sandbox Code Playgroud)
这是问题所在:
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(CFAMain.this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);
Run Code Online (Sandbox Code Playgroud)
任何人都有任何想法,为什么它给我这个警告?
我确信这个问题很多,而且我在这里发现了一些类似的问题,但没有一个真的让我输了.我希望有人可以帮助我.
我想要做的是向用户提供一个下拉菜单(微调器),其中包含香草,巧克力,草莓等香精列表.
当用户选择他们选择的风味时,我想要返回10的Strawberry值.
Strawberry = 10
Chocolate = 20
Vanilla = 30
Run Code Online (Sandbox Code Playgroud)
我来自一个vb.net背景,所以发现这非常难以处理事实我需要arrayadapters和东西来做它?
任何人都可以为我简化一些事情并可能分享一些代码吗
我有一个Android应用程序,Spinner并希望用我自己的对象动态填充它.这些对象确实已经存在List<T>.
对象的类型Category如下:
public class Category implements Serializable {
private Long id;
private String name;
// constructors
// getter & setter
// hashCode, equals
// toString
}
Run Code Online (Sandbox Code Playgroud)
我知道我必须写一个适配器.我怎么做?我试图找一些例子......没有运气.请指教.
我正在研究 android 微调器控件。我已经填充了要在微调器中显示的字符串列表,例如
String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
SpinnerName.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
这运行良好,但我需要为我的列表添加唯一 ID,例如
办公室 = 4
家 = 8
大学 = 9
叔叔的家 = 10
CoDebiggers = 55
如何使用字符串列表设置值?以及如何通过选定的项目更改来获取这些值?