根据条件,我想“显示下拉视图的微调器或显示默认值并不显示下拉”。我在微调器对象中使用了setClickable(false),但它没有起作用。如何实现?
尝试:
((Spinner) spinner).getSelectedView().setEnabled(false);
spinner.setEnabled(false);
在设置适配器之前禁用或启用它。
spinner.setEnabled(false);
spinner.setClickable(false);
spinner.setAdapter(typeAdapter);
通过编写以下代码,可以启用/禁用旋转器。
spinner.onSelectedItemListener
spinner.setEnabled(false); // 程序控制
禁用单项选择器的点击而不使其变灰:
为选择器项创建 XML 布局 spinner_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#000000"
/>
ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, R.layout.spinner_item, SpinnerList); // replace SpinnerList with your own list you want to show
Spinner spin = (Spinner) findViewById(R.id.android_spinner); // replace android_spinner with the id of yours
if (SpinnerList.size() < 2) { // again change SpinnerList
spin.setBackgroundColor(Color.TRANSPARENT); // if you don't want to show the dropdown arrow
spin.setEnabled(false); // it will disable click in spinner
}
spin.setAdapter(adapter);