Ich erstelle (oder versuche) ein Warndialogfeld, das angezeigt wird, wenn ein Benutzer auf ein Video klickt. Wenn es einen gespeicherten Wiederaufnahme-Spot gibt, haben sie die Wahl um die Aktion fortzusetzen, neu zu beginnen oder abzubrechen. Da ich die Fortsetzungszeit in den Dialog einschließen möchte (z. B. "Fortsetzen Wiedergabe von 08:32")Warnungsdialogfeld mit Array-Adapter erfasst keine Klicks
Der Dialog erscheint mit den richtigen Elementen, korrekt formatiert, aber nichts passiert, wenn geklickt wird. Ich frage mich, wo ich falsch gelaufen bin.
Java-Code:
final ArrayAdapter<String> itemVals = new ArrayAdapter<>(Docket.CURRENT_CONTEXT,
R.layout.adapter_simple_list_item, R.id.list_item);
String optionStartBeginning = getString(R.string.media_play_no_resume);
itemVals.add(optionStartBeginning);
if (CastingBridge.getHasResume()) {
String optionResume = "Resume playback from "+ StringFormatter.intMsTimeToString(CastingBridge.RESUME_TIME);
itemVals.add(optionResume);
}
itemVals.add(getString(R.string.cancel));
AlertDialog.Builder builder = new AlertDialog.Builder(Docket.CURRENT_CONTEXT);
builder.setTitle(R.string.resume_offer_title)
.setAdapter(itemVals, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "onClick: Chosen idx is "+ which);
}
}).setCancelable(true);
AlertDialog alert = builder.create();
alert.show();
Und die Layout-Datei R.layout.adapter_simple_list_item
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<com.rey.material.widget.TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
style="@style/Material.Drawable.Ripple.Touch.MatchView"
app:rd_enable="true"
android:id="@+id/list_item"
android:text="@string/test_string"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:textSize="18sp" />
</LinearLayout>
Das einzige, was auf Klick geschieht, wird dies in der logcat gedruckt:
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
Beliebig eklatante Fehler, die mir nicht bewusst sind? Vielen Dank im Voraus für alle Antworten.
Immer noch keine Reaktion auf das Click-Ereignis, außer "D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN" in der Logcat :( – mwieczorek
Können Sie versuchen, Default TextView verwenden – MathaN
Gleiches Ergebnis (oder das Fehlen davon) mit Standard-TextView – mwieczorek