1

さまざまな目的で、アクティビティに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();
}   

}

4

1 に答える 1

1

使用する

    switch(id){
         case exampleDialog_id:
             return showExapleDialog();
         break;
         case secondDialog_id:
             returnshowSecondDialog;
         break;
         default:
         return null;}
于 2013-02-15T11:14:05.397 に答える