我创建了一个带有自定义 ListView
的对话框,该对话框模拟了一个 Spinner
,最初显示的值为“选择性别”。
当打开对话框时,会提示进行选择(就像一个 Spinner 一样)。如果重新选择相同的选项,则会显示相同的选项,但不会指示已选择哪个选项。
例如:
默认值:“选择性别”
对话框打开时没有选择
用户选择:“男”
用户重新打开对话框...
对话框打开时没有选择
(我希望它能够选择“男”,因为那是他们的上次选择)
这是我到目前为止的代码:
genderItems = getResources().getStringArray(R.array.gender_array);
genderAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, genderItems);
genderDrop.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
Builder genderBuilder = new AlertDialog.Builder(Register.this)
.setTitle(R.string.gender_prompt)
.setAdapter(genderAdapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
inputGender.setText(genderItems[which]);
dialog.dismiss();
}
});
AlertDialog genderAlert = genderBuilder.create();
genderAlert.show();
genderAlert.getListView().setSelection(0);
}
return false;
}
});
genderAlert.getListView().setSelection(0)
方法并未将默认选项设置为“Male”
genderAlert.getListView().setSelection(1)
方法也并未将默认选项设置为“Female”
genderDrop
是什么? - Narendra Singh