¿Cómo pongo una barra de búsqueda en un cuadro de diálogo de alerta?

Quiero un cuadro de diálogo de alerta para que aparezca después de hacer clic en un botón para tener una barra de búsqueda para que la persona puede cambiar el valor de 1-48. He hecho un xml personalizado que tiene una barra de búsqueda y dos vistas de texto y me gustaría que el cuadro de diálogo tenga dos botones, uno acaba de cancelar el diálogo y el otro hace más trabajo. Aquí está el código que tengo hasta ahora.

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <SeekBar android:max="48" android:layout_height="wrap_content" android:id="@+id/seekBar1" android:layout_width="fill_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_marginTop="74dp"></SeekBar> <TextView android:text="Change Hour Range" android:layout_height="wrap_content" android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></TextView> <TextView android:text="Only most recent positions" android:layout_height="wrap_content" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="15dp"></TextView> </RelativeLayout> 

Aquí está el diálogo de alerta que tengo hasta ahora

 new AlertDialog.Builder(ImTracking.this) //is there something like setcontentview for alert dialogs? .setPositiveButton("Cancel", null) .setNegativeButton("OK", new DialogInterface.OnClickListener() { // does some work here 

Yep builder.setView(View v); Aquí es cómo se puede utilizar.

  LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.yourLayoutId, (ViewGroup) findViewById(R.id.yourLayoutRoot)); AlertDialog.Builder builder = new AlertDialog.Builder(this) .setView(layout); AlertDialog alertDialog = builder.create(); alertDialog.show(); SeekBar sb = (SeekBar)layout.findViewById(R.id.yourSeekBar); sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){ //Do something here with new value } }); 

Edit: Añadido progressListener al código de ejemplo. Observe que no puede obtener una referencia a su SeekBar hasta después de llamar a alertDialog.show (), si SeekBar no se muestra findViewById () devolverá null. También tenga en cuenta que debe utilizar layout.findViewById(); Porque el SeekBar es un hijo del RelativeLayout que 'layout' es una referencia a.

  //This is the code you seek! public void ShowDialog(){ final AlertDialog.Builder popDialog = new AlertDialog.Builder(this); final SeekBar seek = new SeekBar(this); seek.setMax(255); seek.setKeyProgressIncrement(1); popDialog.setIcon(android.R.drawable.btn_star_big_on); popDialog.setTitle("Please Select Into Your Desired Brightness "); popDialog.setView(seek); seek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){ txtView.setText("Value of : " + progress); } 

O puedes consultar este tutorial

  • Android Image Dialog / Popup mismo tamaño que la imagen y sin frontera
  • android setOnClickListener da una excepción de puntero nulo?
  • Cómo cambiar el color detrás de Android Dialog
  • Cómo mostrar el icono apropiado en el cuadro de diálogo
  • Actividad que se mostrará incluso cuando el teléfono esté en modo bloqueado
  • Notificación como whatsapp o sms app android
  • Atributos de estilo de estilo personalizado AlertDialog
  • Android: Cómo establecer programaticamente el tema de una actividad en Theme.Dialog
  • Android: Dialog etc restaurar después de la rotación cambiada
  • Aplicar un estilo a todos los diálogos (diálogo giratorio, diálogo de alertas, etc.)
  • Establecer la fuente personalizada (TypeFace) en el diálogo en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.