Ich habe eine Aktivität, die eine Liste von Produkten mit ListView enthält. Wenn ich auf ein Produkt A klicke, wird ein Dialog geöffnet und dieses Produkt A wird dem Dialog hinzugefügt. Um ein weiteres Produkt hinzuzufügen B Ich möchte die Liste der Produkte durchblättern, während der Dialog geöffnet wird. Aber ich kann die Liste nicht scrollen.Wie scrollt man eine Liste von Elementen in ListView, wenn ein Dialog in Android geöffnet ist?
Antwort
Wenn Sie einen Dialog öffnen, ist die Ansicht/Aktivität auf der Rückseite unkontrollierbar. Sie können eine Ansicht über der ListView hinzufügen und mit der setVisibility (View. ***) -Methode spielen, die den Inhalt des Dialogs anzeigt, den Sie anzeigen möchten.
Wenn Sie suchen, um die Standard-Android-Dailog LIstView mit Scroll zu öffnen. Hier ist ein Code-Beispiel, das richtig funktioniert.
AlertDialog.Builder builderSingle = new AlertDialog.Builder(DialogActivity.this);
builderSingle.setIcon(R.drawable.ic_launcher);
builderSingle.setTitle("Select One Name:-");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
DialogActivity.this,
android.R.layout.select_dialog_singlechoice);
arrayAdapter.add("Hardik");
arrayAdapter.add("Archit");
arrayAdapter.add("Jignesh");
arrayAdapter.add("Umang");
arrayAdapter.add("Gatti");
builderSingle.setNegativeButton(
"cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderSingle.setAdapter(
arrayAdapter,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String strName = arrayAdapter.getItem(which);
AlertDialog.Builder builderInner = new AlertDialog.Builder(
DialogActivity.this);
builderInner.setMessage(strName);
builderInner.setTitle("Your Selected Item is");
builderInner.setPositiveButton(
"Ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
builderInner.show();
}
});
builderSingle.show();
Ich möchte keine Liste von Elementen in einem Warndialog hinzufügen. Ich möchte nur das Element einer ListView einer Aktivität scrollen oder klicken, während ein Dialog geöffnet wird. –
okay ... dafür müssen Sie Ihr benutzerdefiniertes Dialogfeld entwerfen und es mit dem Adapter binden. Wenn Sie jedoch die Listenansicht öffnen möchten, können Sie den obigen Code verwenden und Ihren Adapter einfach im Dialogfeld binden – UchihaSasuke
Danke für Ihren Kommentar, aber ist es nicht möglich scroll listView oder klicken Sie auf Element der Listenansicht, während Dialog geöffnet ist? –
Nein. Sie müssen Fragmente oder SurfaceView verwenden –