В моем приложении, когда я пытаюсь отобразить пользовательский флажок AlertDialog
, он отлично работает в Android-телефоне. Теперь, когда я устанавливаю приложение на свою вкладку Android, все работает отлично только с пользовательским полем AlertDialog
. Он не отображается. Поэтому я подумал, что я должен проверить нормальное диалоговое окно, и он отлично работает. Ниже приведен код для диалогового окна как обычного диалога, так и предупреждения.Пользовательский флажок предупреждения не отображается
Нормальный Диалог:
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
// Setting Dialog Title
alertDialog.setTitle("Confirm Delete...");
// Setting Dialog Message
alertDialog.setMessage("Are you sure you want delete this?");
// Setting Icon to Dialog
// alertDialog.setIcon(R.drawable.delete);
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to invoke YES event
Toast.makeText(getApplicationContext(),
"You clicked on YES", Toast.LENGTH_SHORT)
.show();
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to invoke NO event
Toast.makeText(getApplicationContext(),
"You clicked on NO", Toast.LENGTH_SHORT)
.show();
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
пользовательского макета Dialog
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getApplicationContext());
// AlertDialogBuilder.setMessage(diadis);
LayoutInflater inflater = (LayoutInflater)getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.update_status, null);
alertDialogBuilder.setView(view);
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
alertDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
alertDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
alertDialog.show();
alertDialog.findViewById(R.id.positive_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
// Close
alertDialog.findViewById(R.id.close_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
вместо ** getApplicationContext() ** использовать ** Y ourActivity.this ** –
Пробовал не работать –
09-03 10: 20: 13.396 14147-14147/loginscreen.example.com.app I/dalvikvm-heap: Вырастить кучу (фрагмент фрейма) до 25.714MB для размещения 147472 байта –