En mi código, tengo una AlertDialog y un TextView. Me gustaría mostrar este TextViewen mi AlertDialog pero no sé cómo hacerlo. No sé cómo agregar el View en un AlertDialog.

Pude mostrar mi código pero no creo que sería útil.

Gracias

EDICIÓN:

Gracias por todas tus respuestas. Acabo de hacer una prueba y funciona perfectamente.

Aquí está mi código de trabajo:

package com.example.testalertdialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

    LinearLayout layout;
    AlertDialog ad;
    TextView tv1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        layout = new LinearLayout(this);
        ad = new AlertDialog.Builder(this).create();
        tv1 = new TextView(this);
        setContentView(layout);
        tv1.setText("Test");
        ad.setView(tv1);
        ad.show();

    }
}

Edit2: Pero ¿por qué no esta el código de trabajo ?

package com.example.testalertdialog;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

@SuppressLint("HandlerLeak")
public class MainActivity extends Activity implements OnClickListener{

    LinearLayout layout;
    AlertDialog ad;
    TextView tv1;
    Button b1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        layout = new LinearLayout(this);
        tv1 = new TextView(this);
        b1 = new Button(this);
        b1.setOnClickListener(this);
        layout.addView(b1);
        ad = new AlertDialog.Builder(this).create();
        setContentView(layout);
        tv1.setText("Test");
}

    @Override
    public void onClick(View v) {
        if (v == b1) {

        ad.setMessage("Chargement");
        ad.show();
        ad.setView(tv1);
    }
}

}

sí Es útil. Mostrar el código. pertinentes de los fragmentos de
El código es correcto y mostrando diálogo demasiado

OriginalEl autor qwertzuiop | 2013-04-24

7 Comentarios

  1. 19
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Title");
    alert.setMessage("Message");
    //Create TextView
    final TextView input = new TextView (this);
    alert.setView(input);
    
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
         input.setText("hi");
        //Do something with value!
      }
    });
    
      alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int whichButton) {
          //Canceled.
      }
    });
    alert.show();
    Podría usted comprobar mi segunda edición ? Gracias
    No hay TextView visible en esta alerta : (.
    Esto está funcionando bien, por Favor, pegue el código pastee.
    para EditText uso final EditText entrada = new EditText (este);

    OriginalEl autor Ronak Mehta

  2. 3

    Aquí en la parte de diseño personalizado – usted puede crear un diseño personalizado para su alertDialog, no sólo en textview, pero nada.

    Enlace para simplificar: aquí está mi código de mi juego

    //create builder
    AlertDialog.Builder builder = new AlertDialog.Builder(GWGPlay.this);
    //inflate layout from xml. you must create an xml layout file in res/layout first
    LayoutInflater inflater = GWGPlay.this.getLayoutInflater();
    View layout = inflater.inflate(R.layout.guesskeyword    /*my layout here*/, null);
    builder.setView(layout);
    //set 2 main buttons
    builder.setPositiveButton("Answer", new DialogInterface.OnClickListener() {
    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        endGame(true);
                    }
                });
    
    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
    
                    }
                });
    
                builder.show();

    OriginalEl autor phan khánh

  3. 0

    Un punto de vista puede ser añadido a un AlertDialog el uso de la setView método.

    Ejemplo:

    AlertDialog dialog = new AlertDialog.Builder(this).create();
    dialog.setView(your_textview);
    dialog.show();

    OriginalEl autor Leon Lucardie

  4. 0

    Otro ejemplo del uso de la setView método:

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    builder.setView(inflater.inflate(R.layout.name_dialog, null));
    builder.create().show();

    OriginalEl autor TronicZomB

  5. 0

    Probar este ejemplo de fragmento de código,

           Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.custom);
            dialog.setTitle("Title...");
    
            //set the custom dialog components - text, image and button
            TextView text = (TextView) dialog.findViewById(R.id.text);
            text.setText("Android custom dialog example!");
            ImageView image = (ImageView) dialog.findViewById(R.id.image);
            image.setImageResource(R.drawable.ic_launcher);
    
            Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
            //if button is clicked, close the custom dialog
            dialogButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }
            });
    
            dialog.show();

    OriginalEl autor AndroidEnthusiastic

  6. 0

    En dibujable crear un nombre de archivo custom_window_dialog_frame.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle"> <!-- this shape is used as shadow -->
            <padding android:bottom="3dp"
                android:left="3dp"
                android:right="3dp"
                android:top="3dp"/>
            <solid android:color="#44000000"/>
           <!--   <corners android:radius="5dp"/> -->
        </shape>
      </item>
       </layer-list>

    y, a continuación, vaya a valores carpeta abierta styles.xml y pegar el código de abajo

    <style name="CustomDialog" parent="@android:style/Theme.Dialog">
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowBackground">@drawable/custom_window_dialog_frame</item>
    <item name="android:windowNoTitle">true</item>
    </style>

    Crear un diseño que desea mostrar. En mi caso lo he hecho como en el archivo dialog_layout_pro.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#dedede"
    >
    <TextView
        android:id="@+id/tv_dialog"
        android:layout_margin="30dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:textColor="#444444"
        android:text="Please wait..."
        android:textSize="30sp" />
      </RelativeLayout>

    En MyTestClass.java Clase

     Dialog cusDialog;
     cusDialog = new Dialog(MyTestClass.this, R.style.CustomDialog);
     cusDialog.setContentView(R.layout.dialog_layout_pro);
     cusDialog.setCancelable(false);
     cusDialog.show();
    }

    De Diálogo personalizado verá como en la imagen de abajo. disfrutar de codificación 🙂

    pantalla textview en el cuadro de diálogo alerta de

    OriginalEl autor Faakhir

  7. 0

    probar este

    http://www.mkyong.com/android/android-custom-dialog-example/

    aquí usted necesita para establecer su propio diseño .

    como este

    final Dialog dialog = new Dialog(context);
                dialog.setContentView(R.layout.custom);

    le dará textview dentro de diálogo.

    probar este

    //diseño para textview

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#B7B7B8" 
            android:text="Hello"/>
    
    </LinearLayout>

    código:-

    AlertDialog dlg = new AlertDialog.Builder(context)
        .setView(R.layout.textview)
        .setTitle("Message")
        .setMessage(msg)
        .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //TODO Auto-generated method stub
                //retval = 0;
                Toast.makeText(context,
                    msg, Toast.LENGTH_SHORT).show();
            }
        }).create();
    dlg.show();

    OriginalEl autor Unknown

Dejar respuesta

Please enter your comment!
Please enter your name here