最后选择的选择是旋转器选项的顶部



我正在使用一个应用程序,并且正在使用旋转器。

但是,用户可以选择很多选项(18)。

有人知道是否可以编码旋转器,以便用户选择的最后选择将进入旋转器选项的顶部?这样,他/她将无需再次滚动列表...

谢谢!

适配器:

 final ArrayAdapter<String> myAdapter5 = new ArrayAdapter<>(MainActivity.this,
            R.layout.spinner_layout, getResources().getStringArray(R.array.Hours));
    myAdapter.setDropDownViewResource(R.layout.spinner_layout);
    spinnerDowntimeHours.setAdapter(myAdapter5);
    spinnerDowntimeHours.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int position2, long l) {

            switch (position2) {
                case 0:
                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                default:
                    break;
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
            String[] list = getResources().getStringArray(R.array.Hours);
            spinnerDowntimeHours.setSelection(Integer.parseInt(list[0]));
        }
    });

这是我尝试的示例,设置旋转器适配器

String[] stringArray = new String[20];
for (int i = 0; i < stringArray.length; i++) {
    stringArray[i] = "Item " + i;
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this,
    android.R.layout.simple_spinner_item, stringArray);
adapter.setDropDownViewResource(R.layout.spinner_item);
Spinner spinner = findViewById(R.id.spinner);
spinner.setAdapter(adapter);

spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:background="@drawable/bg_select"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:ellipsize="marquee"/>

bg_select.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@color/colorAccent" />
    <item android:state_pressed="true" android:drawable="@color/colorAccent"/>
    <item android:state_checked="true" android:drawable="@color/colorAccent"/>
    <item android:drawable="@color/colorPrimary"/>
</selector>

最新更新