muszę zgodzić się z Mudassir, EULA nie są przypuszczać, aby mieć „Nie pokazuj ponownie” wyboru, ale oto jak można zabrać coś takiego chociaż.
Możesz użyć AlertDialog.Builder do zbudowania okna dialogowego zawierającego widok (który możesz zaprojektować w XML). Oto przykład:
AlertDialog.Builder eulaBuilder = new AlertDialog.Builder(this);
LayoutInflater eulaInflater = LayoutInflater.from(this);
View eulaLayout = eulaInflater.inflate(R.layout.eula, null);
eulaBuilder.setView(eulaLayout);
Checkbox dontShowAgain = (CheckBox)eulaLayout.findViewById(R.id.dontShowAgain);
eulaBuilder.setPositiveButton("Agree", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d, int m) {
// Do something
}
});
eulaBuilder.setNegativeButton("Disagree", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d, int m) {
// Do something
}
});
eulaMsg = eulaBuilder.create();
Co można zrobić, to utworzyć plik XML z pojedynczym obiektem, CheckBox. Następnie dodaj widok do AlertDialog.Builder. Użyj AlertDialog.Builder.setMessage ("Komunikat EULA tutaj"), aby ustawić komunikat EULA.
Umowa licencyjna użytkownika oprogramowania nigdy nie ma "Nie pokazuj tego jeszcze raz". Podaj tylko przycisk Zgadzam się i nie zgadzam się na dole. I umieść link do swojej umowy EULA w jakimś menu w swoim programie, aby użytkownicy mogli je wyświetlać w dowolnym momencie. – Mudassir
Również, jeśli nie jest to najlepsze rozwiązanie projektowe dla umowy EULA, może być potrzebne w przypadku innych dialogów, które mogą opcjonalnie wykonać dalsze działanie. –