Wie stelle ich eine Suchleiste in einen Alert-Dialog ein?

Ich möchte ein Alert-Dialogfeld Pop-up, nachdem ich auf eine Schaltfläche klicken, um eine Suchleiste zu haben, damit die Person den Wert von 1-48 ändern kann. Ich habe eine benutzerdefinierte XML gemacht, die eine Suchleiste und zwei Textansicht hat und ich möchte, dass das Dialogfeld zwei Schaltflächen hat, man nur den Dialog abbricht und das andere funktioniert mehr. Hier ist der Code, den ich bisher habe.

<?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> 

Hier ist der Alert-Dialog, den ich bisher habe

  • Animieren eines benutzerdefinierten Dialogs
  • Ändern Sie die Schaltflächenfarbe in AlertDialog
  • Probleme mit alertdialog zeigen in Fragment Android
  • Zeigen Sie eine Warnung an, wenn die Internetverbindung nicht in der Android-Anwendung verfügbar ist
  • Wie kann ich AlertDialog.Builder entlassen?
  • Benutzerdefinierter Alert-Dialog nicht vertikal auf Android zentriert
  •  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 

  • Wie kann ich die MIUI Autostart-Berechtigung programmgesteuert überprüfen?
  • Abruf von Sqlite Database in android
  • Fehler beim Ausführen des Befehls 'ant' unter Mac OS X 10.9 Mavericks beim Aufbau für Android mit PhoneGap / Cordova
  • Warum ist die Höhenänderung, wenn es Abend oder Nacht ist?
  • Android: LibGDX 2D Spiel Speicher Verbrauch
  • Anzeigen von benutzerdefinierten Informationen auf Lock Screen In Android
  • 2 Solutions collect form web for “Wie stelle ich eine Suchleiste in einen Alert-Dialog ein?”

    Yep builder.setView(View v); Hier kannst du es benutzen

      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 } }); 

    Bearbeiten: Added progressListener zum Beispielcode. Beachten Sie, dass Sie keinen Hinweis auf Ihre SeekBar erhalten können, bis Sie alertDialog.show () aufgerufen haben, wenn die SeekBar nicht angezeigt wird. FindViewById () wird null zurückgeben. Beachten Sie auch, dass Sie layout.findViewById(); Denn die SeekBar ist ein Kind der RelativeLayout, dass "Layout" ist ein Verweis auf.

      //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); } 

    Oder du kannst auf dieses Tutorial schauen

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.