さまざまな目的で、アクティビティに3つ以上のダイアログボックスが必要なアプリケーションを作成しています。onCreateDialog()
現在、ファイルで定義されている単一のダイアログボックスを処理しているメソッドを使用していXML
ます。知っておく必要があるのは、コードを大きくせずに、より多くのxmlファイルを処理する方法です。
@Override
protected Dialog onCreateDialog(int id ){
return createExampleDialog(); // Function call, body is defined below
}
// This method is used for setting the dialogbox
@Override
protected void onPrepareDialog(int id,Dialog loginPrompt){
final EditText first = (EditText)loginPrompt.findViewById(R.id.rf1);
first.setText(""); // setting the editbox blank
final EditText second = (EditText)loginPrompt.findViewById(R.id.rf2);
second.setText("");
}
//Body the function createExampleDialog()
private Dialog createExampleDialog(){
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.userpasslayout, null);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Add Location!");
alert.setIcon(R.drawable.logo);
alert.setMessage("Fill information carefully!");
alert.setView(textEntryView);
//AlertDialog loginPrompt = alert.create();
//PositiveButton Onclick Listener
alert.setPositiveButton("Register", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(DialogActivity.this, "So you think!", Toast.LENGTH_LONG).show();
return;
}
});
//NegativeButton onclick Listener
alert.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// NegtiveButton works automatic it will perform cancel of the dialog box;
return;
}
});
return alert.create();
}
}