我正在使用一个应用程序,并且正在使用旋转器。
但是,用户可以选择很多选项(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>