Можно настроить пользовательский диалог, в котором вы определяете свои собственные кнопки (ОК и Закрыть).
public class YourClass implements OnClickListener {
private Button DialogButton;
private Dialog dialog;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.MainLayout);
/* Your code... */
DialogButton = (Button) findViewById(R.id.DialogButtonId);
DialogButton.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.DialogButtonId:
LayoutInflater inflater = LayoutInflater.from(YourClass.this);
final View inflay = inflater.inflate(R.layout.DialogLayout, (ViewGroup) findViewById(R.id.RootIdOfDialogLayout));
TextView YourTextView = (TextView) inflay.findViewById(R.id.TextViewId);
Button cancel = (Button) inflay.findViewById(R.id.CancelButtonId);
cancel.setOnClickListener(YourClass.this);
Button ok = (Button) inflay.findViewById(R.id.OkButtonId);
ok.setOnClickListener(YourClass.this);
dialog = new Dialog(YourClass.this);
dialog.setContentView(inflay);
dialog.setTitle(getString(R.string.TitleStringId));
dialog.show();
break;
case R.id.CancelButtonId:
/* Checking if the user selected an option if true call dialog.dismiss() */
break;
case R.id.OkButtonId:
/* Here handle your preferences (e.g. putString(String key, String value)) */
/* Checking if the user selected an option if true call dialog.dismiss() */
break;
}
}
}
Проверьте http://developer.android.com/reference/android/content/SharedPreferences.Editor.html, чтобы удовлетворить ваши предпочтения в onClick. Я не тестировал этот код, просто написал его, чтобы показать вам, как вы можете его решить!
Диалог остается открытым до тех пор, пока вы не вызовите dialog.dismiss () ;. В этом случае вам нужно будет создать раскрывающееся меню, опросы или все, что вы хотите отобразить в файле макета. После нажатия «ОК» или «Отмена» необходимо проверить, сделал ли пользователь выбор, и проанализировать его в своих предпочтениях. (проверьте ссылку выше)
Rgds
Лэйн