を起動するとすぐにダイアログ ボックスが表示されますMainActivity
。テーブル番号とカバー番号の 2 つのパラメータを入力するようにユーザーに促します。次に確認し、これらのパラメーターを使用して Order オブジェクトを作成します。
ただし、私が抱えている問題は、パラメーターを入力するかどうかに関係なく、確認ボタンをクリックするとボックスが閉じられることです。Toast
ボックスを表示したままにして、エラーの概要を示すメッセージを表示したいと思います。
以下は私のコードですが、ボタンをクリックするとボックスが消え、トーストも表示されます。
どうもありがとう。
public Dialog createDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(SectionsActivity.this);
View v = getLayoutInflater().inflate(R.layout.order_dialog, null);
builder.setView(v);
tableNum = (EditText)v.findViewById(R.id.numberEntry);
coverNum = (EditText)v.findViewById(R.id.coversEntry);
builder.setMessage("Order Information");
builder.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
if(tableNum.getText().length() != 0 && coverNum.length() != 0){
//Create order object in here
table = Integer.parseInt(tableNum.getText().toString());
covers = Integer.parseInt(coverNum.getText().toString());
Order.getInstance().setTableNumber(table);
Order.getInstance().setCoverNumber(covers);
created = true;
}else{
Toast.makeText(getApplicationContext(), "Must enter a table and cover number", Toast.LENGTH_SHORT).show();
}
}
});
return builder.create();
}
編集:
if(!Order.getInstance().getCreated()){
Dialog d = createDialog();
d.show();
}