在 Spinner Android Studio 中遇到问题
Getting Problem In Spinner Android Studio
我正在制作一个应用程序。我正在尝试在我的 Android 应用程序中添加一个可滚动的微调器,如下图所示。但是我尝试了很多代码,但都没有得到正确的结果。主要问题是,当我在我的 android 应用程序中实现一个微调器并在其中添加一个适配器时,它的工作方式就像一个普通的下拉微调器,但我的微调器有太多项目,我希望有人滚动当他或她点击微调器时。
我想做这样的旋转器:=
尝试我的代码后,我无法滚动显示正常下拉项目的微调器
有解决办法的请回答
在下图中,我可以滚动微调器和 select 所需的项目
你可以查看这张图片我想制作一个相同的可滚动微调器,现在这是我试过的代码 -
<Spinner
android:id="@+id/test_spinner"
android:layout_width="50dp"
android:layout_height="match_parent"
android:spinnerMode="dropdown"/>
Java --
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.days, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
通过反射,访问私有mPopup
Spinner spinner = (Spinner) findViewById(R.id.your_spinner);
try {
Field popup = Spinner.class.getDeclaredField("mPopup");
popup.setAccessible(true);
//private mPopup
android.widget.ListPopupWindow popupw = (android.widget.ListPopupWindow) popup.get(spinner);
popupw.setHeight(500);//height in px
}
catch (Exception ex) {
// print
}
唯一的问题是您将 editText 与微调器一起使用,当微调器打开键盘时也会打开,然后您的微调器项目隐藏在键盘后面,因此解决方案是只使用微调器而不使用 editText。
我正在制作一个应用程序。我正在尝试在我的 Android 应用程序中添加一个可滚动的微调器,如下图所示。但是我尝试了很多代码,但都没有得到正确的结果。主要问题是,当我在我的 android 应用程序中实现一个微调器并在其中添加一个适配器时,它的工作方式就像一个普通的下拉微调器,但我的微调器有太多项目,我希望有人滚动当他或她点击微调器时。
我想做这样的旋转器:=
尝试我的代码后,我无法滚动显示正常下拉项目的微调器
有解决办法的请回答
在下图中,我可以滚动微调器和 select 所需的项目
你可以查看这张图片我想制作一个相同的可滚动微调器,现在这是我试过的代码 -
<Spinner
android:id="@+id/test_spinner"
android:layout_width="50dp"
android:layout_height="match_parent"
android:spinnerMode="dropdown"/>
Java --
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.days, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
通过反射,访问私有mPopup
Spinner spinner = (Spinner) findViewById(R.id.your_spinner);
try {
Field popup = Spinner.class.getDeclaredField("mPopup");
popup.setAccessible(true);
//private mPopup
android.widget.ListPopupWindow popupw = (android.widget.ListPopupWindow) popup.get(spinner);
popupw.setHeight(500);//height in px
}
catch (Exception ex) {
// print
}
唯一的问题是您将 editText 与微调器一起使用,当微调器打开键盘时也会打开,然后您的微调器项目隐藏在键盘后面,因此解决方案是只使用微调器而不使用 editText。