Androides Eingabeaufforderungsdialogfeld für Android

Beispiel für ein Dialogfeld zur Eingabe einer Android-Eingabeaufforderung

In diesem Tutorial werden wir das vorherige Beispiel vonAlertDialogverbessern, damit es Benutzereingaben akzeptieren kann, genau wiePromptDialog. Genauer gesagt ist dies ein Beispiel für einen benutzerdefiniertenAlertDialog.

Siehe folgende Schritte:

  1. Erstellen Sie ein Eingabeaufforderungs-Dialoglayout (XML-Datei).

  2. Hängen Sie das Layout des Eingabeaufforderungsdialogs anAlertDialog.Builder an.

  3. Befestigen Sie dieAlertDialog.Builder anAlertDialog.

  4. Erledigt.

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

Note
Sie könnten daran interessiert sein, diesecustom dialog example zu lesen.

1 Android-Layoutdateien

Zwei XML-Dateien, eine für den Hauptbildschirm und eine für den Aufforderungsdialog.

Datei: res / layout / main.xml




    

Datei: res / layout / prompts.xml




    

    

        

    

2. Aktivität

Lesen Sie den Kommentar und die Demo im nächsten Schritt, sie sollte selbsterklärend sein.

Datei: MainActivity.java

package com.example.android;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    final Context context = this;
    private Button button;
    private EditText result;

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // components from main.xml
        button = (Button) findViewById(R.id.buttonPrompt);
        result = (EditText) findViewById(R.id.editTextResult);

        // add button listener
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                // get prompts.xml view
                LayoutInflater li = LayoutInflater.from(context);
                View promptsView = li.inflate(R.layout.prompts, null);

                AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                        context);

                // set prompts.xml to alertdialog builder
                alertDialogBuilder.setView(promptsView);

                final EditText userInput = (EditText) promptsView
                        .findViewById(R.id.editTextDialogUserInput);

                // set dialog message
                alertDialogBuilder
                    .setCancelable(false)
                    .setPositiveButton("OK",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                        // get user input and set it to result
                        // edit text
                        result.setText(userInput.getText());
                        }
                      })
                    .setNegativeButton("Cancel",
                      new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                        dialog.cancel();
                        }
                      });

                // create alert dialog
                AlertDialog alertDialog = alertDialogBuilder.create();

                // show it
                alertDialog.show();

            }
        });
    }
}

3. Demo

Starten Sie es, das Layout "main.xml" zeigt eine Schaltfläche und einen Edittext (Ergebnis) an.

android prompt user input example

Klicken Sie auf die Schaltfläche, zeigen Sie das Layout des Eingabeaufforderungsdialogs „prompts.xml“ an, geben Sie die Meldung „example“ ein und klicken Sie auf die Schaltfläche „OK“.

android prompt user input example

Die Benutzereingabe „example“ wird an das Layout „main.xml“, den Edittext (Ergebnis), übergeben und angezeigt.

android prompt user input example

Quellcode herunterladen

Laden Sie es herunter -Android-Prompt-Dialog-Example.zip (16 KB)