Exemple de dialogue de saisie utilisateur avec invite Android

Exemple de boîte de dialogue de saisie de l'invite Android

Dans ce tutoriel, nous améliorerons l'exemple deAlertDialog précédent, pour le rendre capable d'accepter les entrées de l'utilisateur, tout comme unPromptDialog. Plus précisément, il s'agit d'un exemple deAlertDialog personnalisé.

Voir les étapes suivantes:

  1. Créez une disposition de dialogue d'invite (fichier XML).

  2. Attachez la présentation de la boîte de dialogue d'invite àAlertDialog.Builder.

  3. Attachez lesAlertDialog.Builder àAlertDialog.

  4. Terminé.

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

Note
Vous pouvez avoir intérêt à lire cecustom dialog example.

1 Fichiers de mise en page Android

Deux fichiers XML, un pour l'écran principal, un pour la boîte de dialogue d'invite.

Fichier: res / layout / main.xml




    

Fichier: res / layout / prompts.xml




    

    

        

    

2. Activité

Lisez le commentaire et la démo à l'étape suivante, cela devrait être auto-exploratoire.

Fichier: 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

Démarrez-le, la mise en page «main.xml» affiche un bouton et edittext (résultat).

android prompt user input example

Cliquez sur le bouton, affichez une boîte de dialogue de présentation «prompts.xml», tapez le message «example» et cliquez sur le bouton «OK».

android prompt user input example

L'entrée utilisateur «example» passera à la mise en page «main.xml», edittext (résultat), et l'affichera.

android prompt user input example

Télécharger le code source

Téléchargez-le -Android-Prompt-Dialog-Example.zip (16 Ko)