Articles of android spinner

在微调器中无法选择项目(自定义微调器适配器)

我在android应用程序中使用自定义spinner适配器用于颜色spinner 。 下拉工作正常。 但是一旦我从微调器中选择了一个颜色(项目),它就不可选择了。 此外,我不需要显示所选项目。 我只想识别所选颜色而不显示它。 下面是我的CustomSpinnerAdapter的代码: @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { TextView rowView=null; if(convertView == null){ convertView=inflater.inflate(R.layout.spinner_layout, null); } rowView=(TextView) convertView.findViewById(R.id.spinnerColorview); rowView.setBackgroundColor(Color.parseColor(itemList.get(position))); return convertView; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView rowView=null; if(convertView == null){ convertView=inflater.inflate(R.layout.spinner_layout, null); } rowView=(TextView) convertView.findViewById(R.id.spinnerColorview); rowView.setBackgroundColor(Color.parseColor(itemList.get(position))); return convertView; } […]

将layout_weight分配给微调器时,微调器上的SetSelection崩溃

我做了一个简化的实验来确定我遇到这个问题的地方。 这是一个很长的问题,前面有很多代码。 现在我保留了一个简单的小代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_spinner_test); Spinner spin1 = (Spinner) findViewById(R.id.spin1); spin1.setAdapter(new ProfileSpinnerAdapter(this, R.array.feet)); spin1.setSelection(0); //does not crash spin1.setSelection(getResources().getStringArray(R.array.feet).length – 1); //it crashes //it crashes for any value greater than 0 and less than array length. 这是错误: java.lang.NullPointerException: Attempt to read from field ‘int android.view.ViewGroup$LayoutParams.width’ on a null object reference at […]

如何更改Android Spinner项目的文本大小

我正在访问java文件中的微调器,设置其输入是具有美国州名称的字符串数组。 我想在旋转器中给自己的大小选择状态? 如何给它定制尺寸? 这是代码: Spinner state = (Spinner) findViewById(R.id.state); ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.state, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); state.setAdapter(adapter); XML: 要在Spinner中显示的字符串数组: Select State Alabama Alaska American Samoa Arizona Arkansas California Colorado Connecticut Delaware District of Columbia Florida Georgia Guam Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska […]

使用带有Spinner元素的entryValues

我在LinearLayout创建了一个Spinner元素。 我想使值与可见值不同。 我不想以编程方式执行此操作。 我想使用下面的数组。 a b c 1 2 3 只是。 如果选择a项目,我希望得到1作为整数。 有什么办法? 当我在下面用上面的时候。 public void onItemSelected(AdapterView item, View arg1, int sort, long arg3) { // TODO Auto-generated method stub String selectedItem = item.getItemAtPosition(sort).toString(); } 我只能将数据作为字符串而不是值。 我可以获得可见的值。

如何在操作栏NAVIGATION_MODE_LIST中更改“小三角颜色”

在我将action bar设置为NAVIGATION_MODE_LIST getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 然后为它设置适配器。 列表按预期显示,但我需要更改列表的“小三角”颜色,因为默认颜色非常接近我的背景颜色 。 是否可以这样做,如果是这样,我该怎么做?

Fragment中用于微调器的setOnItemSelectedListener

我在setOnItemSelectedListener有这个错误: AdapterViewtypes中的方法setOnItemSelectedListener(AdapterView.OnItemSelectedListener)不适用于参数(FragmentMain)“ 片段类: public class FragmentMain extends Fragment { private Spinner countriesSpinner; private Activity rootView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){ View rootView =inflater.inflate(R.layout.activity_main, container, false); return rootView; } @Override public void onStart() { super.onStart(); addItemsOnSpinner(); } public void addItemsOnSpinner() { countriesSpinner = (Spinner) rootView.findViewById(R.id.team_list_spinner); countriesSpinner.setOnItemSelectedListener(new CustomOnItemSelectedListener ()) ; ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), […]

旋转器下拉从旋转器顶部开始

问题是Spinner下拉列表从Spinner的顶行开始,但它应该从Spinner底线开始 正常状态 点击后 Spinner xml代码 码 Spinner spnSelectLanguage = (Spinner)rootView.findViewById(R.id.spnSelectLanguage); ArrayAdapter adapterLanguage= new ArrayAdapter (context,R.layout.layout_lng_spinner_item,new String[]{“English”,”Arabic”}); adapterLanguage.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spnSelectLanguage.setAdapter(adapterLanguage); Style.xml @color/grey 1dp

如何使用SparseArray作为Adapter的源代码?

我有一个稀疏的值数组,我想在Spinner中填充,当选择该项时,我想获取id(这是稀疏数组中的键)。 从SparseArray创建适配器的首选方法是什么? 是否可以将现有的适配器(如BaseAdapter或ListAdapter)子类化,以便项目具有SparseArray中的项目ID作为项目ID? 不知道如何实现上述目标,我正在考虑创建一个简单的ArrayAdapter实例,并将其作为源从SparseArray赋予它,并在选择项目时,通过值查找键,我认为不会高效。

更改微调器的背景颜色隐藏下拉箭头

我有一个旋转,并将其背景颜色设置为白色。 问题是,箭头消失了。 我不知道为什么。 有什么不对? 我正在使用此代码。 drivers = (Spinner) findViewById(R.id.spinner1); drivers.setBackgroundColor(Color.WHITE); ArrayAdapter adp1=new ArrayAdapter(this, android.R.layout.simple_spinner_item , driverList); adp1.setDropDownViewResource(android.R.layout.select_dialog_singlechoice); drivers.setAdapter(adp1); drivers.setPrompt(“Select Driver”); 这是我的布局: 有任何想法吗? 我想保留白色背景,但下拉箭头应显示。

popup窗口中的微调器出错,单击时崩溃

我有一个从Fragment调用的PopupWindow,除了我的Spinner,一切都有效。 当我点击我的Spinner时它会崩溃并给出错误: “android.view.WindowManager $ BadTokenException:无法添加窗口 – 令牌android.view.ViewRootImpl$W@421a46d8无效;您的活动是否正在运行?” 我的代码调用片段中的popup窗口: ManagerPopUp mManagerPopUp = new ManagerPopUp(getActivity()); mManagerPopUp.showPopUpAddEvent(); 我在ManagerPopUp中的代码显示Popup: public class ManagerPopUp { private static final String TAG = “PopUpManager”; private Context mContext; public ManagerPopUp(Context mContext){ this.mContext = mContext; } public PopupWindow showPopUpAddEvent(){ final PopupWindow popUp = new PopupWindow(mContext); LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.popup_add_event, null); //Code […]