在 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。