我使用EditText显示AlertDialog.Builder,因此用户必须单击EdiText,选择Number 123然后插入一个int号。
我想展示一个只有数字的键盘。我们可以帮帮我吗?可以创建一个自动聚焦的AlertDialog吗?
我已经写了这段代码。我们可以帮助我吗?
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Inserisci quantità");
alert.setMessage("Inserisci una quantità per l'articolo: "+articolo.getNomeArticolo());
final EditText inputText = new EditText(this);
alert.setView(inputText);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = inputText.getText().toString();
try{
int quantita = Integer.parseInt(value);
ArticoliOrdine articoloOrdine = new ArticoliOrdine();
articoloOrdine.setIdArticolo(articolo.getCodArticolo());
articoloOrdine.setNomeArticolo(articolo.getNomeArticolo());
articoloOrdine.setQuantia(quantita);
listaArticoli.add(articoloOrdine);
adapter.notifyDataSetChanged();
}catch(Exception e){
AlertDialog.Builder alertErrore = new AlertDialog.Builder(getApplicationContext());
alertErrore.setTitle("Errore");
alertErrore.setMessage("Hai inserito una quantità non valida.");
alertErrore.show();
}
}
});
// Showing Alert Message
alert.show();
答案 0 :(得分:16)
此代码是您所需要的。只需将其插入需要启动警报对话框的任何位置即可。 我还没弄清楚如何自动启动键盘,但这应该不难。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(multiLangTranslation(R.string.manualshippermessage));
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
input.setRawInputType(Configuration.KEYBOARD_12KEY);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Put actions for OK button here
}
});
alert.setNegativeButton(multiLangTranslation(R.string.cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Put actions for CANCEL button here, or leave in blank
}
});
alert.show();
答案 1 :(得分:1)
您需要添加以下行:
inputText.setRawInputType(Configuration.KEYBOARD_12KEY);