fehlt habe ich ein paar Telefone, eine Infinix heiße Note 4 Android 6.0 Eibisch und ein Nexus 6P läuft den neuesten und besten Android 8.0 Oreo läuft.Alertdialog in Android 8.0 Oreo Nachrichtentext
Ich teste eine App, mit der Benutzer nur die Daten einzugeben, wenn sie in der Nähe von einem bestimmten Ort sind, und ich bemerkte, dass auf Oreo keine meiner Nachrichten in AlertDialogs gezeigt. Sie erscheinen als leer (oder vielleicht in weißem Text oder etwas gefärbt).
Ich bin in Afrika und ich bin unterstützt Geräte mit Android 9 (alte Telefone sind nie weggeworfen und nur weitergegeben verwendet, bis sie verfallen) so gradle Einstellungen sind
minSdkVersion 9
targetSdkVersion 22
compileSdkVersion 25
buildToolsVersion '25 .0.0 '
Ich habe Screenshots der Nexus- und Infinix-Dialoge angehängt. Wer weiß, wie man dieses Verhalten umgeht? Im Folgenden finden Sie auch den genauen Code in beiden Geräten verwendet
Vielen Dank im Voraus für jeden, der die Zeit, diese Frage zu prüfen, erfolgt.
private void showNotNearOutlet(ProximityToOutlet proximityToOutlet, String OutletName) {
String strMsg = "";
int intAllowedProximity = GSR.getSavedSettings.getAllowedProximityToOutletMeters();
float floatDistanceFromOutlet = proximityToOutlet.getFltDistanceBetweenCurrentLocAndOutlet();
String strDistance = String.valueOf(df.format(floatDistanceFromOutlet)) + "m";
if (floatDistanceFromOutlet > 1000) {
strDistance = df.format(floatDistanceFromOutlet/1000) + "Km";
}
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle("Cannot start outlet!");
if (floatDistanceFromOutlet != -99) { /*means we cant get a good location fix at the moment*/
strMsg = "GPS shows your current location as being " + strDistance + " from " + OutletName + " .\n\nYou must be at least " + intAllowedProximity + " Meters near the Outlet to start it.";
} else {
strMsg = "Cannot Start outlet because your current GPS position is undetermined.\nTap on 'Locate Me' button and wait till you get a GPS Fix or Accuracy is within 20meters.\n\nTo start an Outlet you must be within " + intAllowedProximity + " meters of it.";
}
alertDialogBuilder.setCancelable(true);
alertDialogBuilder.setIcon(R.drawable.red_gps_icon);
alertDialogBuilder.setMessage(strMsg);
alertDialogBuilder.setPositiveButton("Close", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//fetchOutletsForSpinner();
setSpinnerToSelectOutlet();
dialog.dismiss();
}
});
alertGPS = alertDialogBuilder.create();
if (!MainActivity.this.isFinishing()) {
//show dialog
alertGPS.show();
blnGPSAlertIsVisible = true;
}
}
[Fehlender AlertDialog-Text in Android Oreo (links). Interessanterweise fehlt GPS-Symbol in Versionen vor 8.0] [1] 1 (rechts)
Vielen Dank, Alexander. Deine Vorschläge haben wunderbar funktioniert. Die Alert-Dialoge zeigen nun Inhalte in Oreo. Prost. – KuriaNdungu
Ich fand auch, dass es ein Problem mit meinen Dialog Themes gab, wo ich Vordergrund und Hintergrundeinstellung beide weiß hatte, was natürlich dazu führte, dass der weiße Text nicht sichtbar war. – KuriaNdungu