Как сделать спиннер в диалоговом режиме?
У меня есть кнопка в моем приложении, и когда я нажимаю на эту кнопку, она открывает счетчик, но счетчик находится в раскрывающемся режиме, и мне нужно сделать это в диалоговом режиме. Для API 11 и выше есть простой код, который делает свое дело:
Spinner s1 = new Spinner(this, Spinner.MODE_DIALOG);
Но мне нужно использовать некоторый код, который также для API для 7 и выше. Кто-нибудь может мне помочь, пожалуйста?
2 ответа
Я СДЕЛАЛ ЭТОТ ПУТЬ:
LayoutInflater inflater = context.getLayoutInflater();
final View dlg =inflater.inflate(R.layout.dialog,null);
final AlertDialog d = new AlertDialog.Builder(context)
.setView(dlg)
.setPositiveButton("SAVE",
new Dialog.OnClickListener() {
public void onClick(DialogInterface d, int which) {
//Do nothing here. We override the onclick
}
})
.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//This will close dialog
}
})
.create();
d.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
final Spinner mySpinner = (Spinner)dlg.findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(context,android.R.layout.simple_spinner_item );
//ADD VALUES TO adapter
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(adapter);
Button b = d.getButton(AlertDialog.BUTTON_POSITIVE);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
d.dismiss();
//DO SOMETHING
}
});
}
});
d.show();
Вот как я это сделал:
Здесь вопросы String[];
DialogInterface.OnClickListener questionDialogListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// implement the coding for getting the selected item.
arg0.dismiss();
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Question:");
builder.setItems(questions, questionDialogListener);
AlertDialog dialog = builder.create();
dialog.show();
}