在阅读了谷歌Material设计的新设计指南后,我没有找到任何在Material设计中设计/显示微调器(http://developer.android.com/design/building-blocks/spinners.html)的明确解决方案。最近的应该是这样的:http://material-design.storage.googleapis.com/publish/v_1/quantumexternal/0Bx4BSt6jniD7anplVHR3QkdNUHc/components_menus_behavior2.png-但我很确定,会有一些更好的解决方案。特别是如果涉及到
例如:我有一个包含天数的枚举。如何将其值放入spinner中? 最佳答案 与另一个答案类似,但您可以使用ArrayAdapter基于Enum类进行填充。我建议在Enum类中覆盖toString以使微调器中填充的值对用户更友好。在Activity中:SpinnermySpinner=(Spinner)findViewById(R.id.mySpinnerId);mySpinner.setAdapter(newArrayAdapter(this,android.R.layout.simple_spinner_item,MyEnum.va
我有一个Spinner,用于显示从数据库中获取的数据列表。数据从查询返回到游标,游标被传递给微调器的SimpleCursorAdapter。它工作正常,但我想在这个数据之上插入另一个项目。例如,微调器已经显示了保存在数据库中的用户创建模板列表,但我想在模板列表顶部插入“新模板”和“空模板”,并且需要将其插入到Cursor/SimpleCursorAdapter不知何故。我考虑过使用数组列表并从游标填充数组列表,但游标对我来说是更好的解决方案,因为它也包含其他相关的数据行。我在互联网上搜索了其他解决方案,并找到了一些要求为此目的使用CursorWrapper的答案,但我找不到如何使用Cu
我正在使用支持libv21中的androidspinner和edittext。我想将文本对齐到与edittext相同的位置,如图所示。但是,默认微调器包括间距或填充。所以,我想删除它以将文本左对齐。请帮助如何删除它。 最佳答案 在您的SpinnerAdapter中:@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){Viewview=super.getView(position,convertView,parent);view.setPadd
我在一个Activity中有两个微调器(day_spin和time_spin)。我想将选定的day_spin值保存到变量中。是否可以区分同一Listener中的两个微调器?还是我必须为每个微调器编写自己的Listener类?我还想获取所选项目的编号。例如,我有6个元素的字符串数组。我选择了数字3。如何获取id?day_spin=(Spinner)findViewById(R.id.spinner);ArrayAdapteradapter_day=ArrayAdapter.createFromResource(this,R.array.spinner_day_array,android.
正如我在问题中所写,我想更改XML中Spinner的下拉箭头(默认箭头,而不是自定义箭头或类似的东西)的颜色,但问题是我无法从XML中找到任何可以引用它的内容。有可能吗?如果是,如何更改颜色?提前致谢。 最佳答案 有三种方法可以实现。1.通过代码:在您的xml中,确保您的微调器有一个id。假设我们有一个id为“spinner”的微调器。在您的代码中,在onCreate()中添加以下内容:Spinnerspinner=(Spinner)findViewById(R.id.spinner);spinner.getBackground()
这是在Android中为Spinner实现键值对的正确方法吗?packagecom.mypackageimportandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Spinner;importandroid.widget.ArrayAdapter;importandroid.widget.AdapterView;importandroid.widget.TextView;publicclassSpinnerAndAdapterextendsActivity{
我以以下方式声明我的Spinner(它非常静态,所以我在array.xml中有2个字符串数组用于标题和值)我希望spinner.getSelectedItem()返回一个数组[title,value]但实际上它只返回一个标题字符串。是否无视android:entryValues?我如何从中获得值(value),而不是标题?是这仅适用于XML还是我需要创建适配器并执行此操作以编程方式? 最佳答案 为什么不使用已知类型的对象以编程方式填充您的ArrayAdapter并使用它,而不是双数组方法。我已经写了一个类似性质的教程(底部的链接)来
我在Spinner上的setSelection遇到了一些问题。当微调器显示在代码中时,我将值设置为预选,但它没有效果,并且始终选择列表中的第一个替代项。代码如下所示:LayoutInflaterli=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);finalViewdialogView=li.inflate(R.layout.edit_event,null);...ArrayListroutes=newArrayList();//routesfilledwithvaluesatruntime...Arr
我正在使用新的android数据绑定(bind),效果很好。我能够使用EditText、TextView、Radio和复选框执行数据绑定(bind)。现在,我无法在spinner中进行数据绑定(bind)。在下面的链接中找到了一些线索:Androidspinnerdatabindingwithxmllayout但是,仍然无法找到解决方案。还需要执行双向数据绑定(bind)。应该反射(reflect)微调器数据选择的值。有人可以举个例子吗?这是我的xml代码:查看模型:publicclassAssessmentGetViewModel{privateStringvalueWidth;pr