[英]Custom alert dialog not dismiss
我想實現對R.id.textSizeA
按鈕的關閉,但是它不起作用。 有人可以幫忙嗎? 自定義警報對話框具有許多用於其設置的單選按鈕。 當我按下單選按鈕時,它應該關閉對話框,但是我不知道該怎么辦。
final LinearLayout textSizeBtn = (LinearLayout) findViewById(R.id.text_size_btn);
textSizeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(view.getContext());
final LayoutInflater layoutInflater = LayoutInflater.from(view.getContext());
final View view1 = layoutInflater.inflate(R.layout.font_size_dialog, null);
alertDialog.setView(view1);
RadioGroup radioGroup = (RadioGroup) view1.findViewById(R.id.textSizeChanGroup);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
TextView sampleText = (TextView) view1.findViewById(R.id.texSize_sampleText);
if (checkedId == R.id.textSizeA) {
String size = String.valueOf(12);
sampleText.setTextSize(Float.parseFloat(size));
textSizeHint.setText(size);
SharedPreferences.Editor editor = view.getContext().getSharedPreferences(String.valueOf(R.string.textSizePref), MODE_PRIVATE).edit();
editor.putString("textSizeA", size);
editor.clear();
editor.apply();
} else if (checkedId == R.id.textSizeB) {
String size = String.valueOf(13);
sampleText.setTextSize(Float.parseFloat(size));
textSizeHint.setText(size);
SharedPreferences.Editor editor = view.getContext().getSharedPreferences(String.valueOf(R.string.textSizePref), MODE_PRIVATE).edit();
editor.putString("textSizeA", size);
editor.clear();
editor.apply();
}
}
});
alertDialog.create().show();
}
});
嘗試這個
更改
alertDialog.create().show();
至
AlertDialog alert = alertDialog.create();
alert.show();
現在使用alert
來消除警報,如下所示
if (checkedId == R.id.textSizeA) {
String size = String.valueOf(12);
...
...
editor.apply();
alert.dismiss(); // add this
} else if
...
...
替換此行
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(view.getContext());
同
final AlertDialog alertDialog = new AlertDialog.Builder(view.getContext());
和這個
alertDialog.create().show();
同
alertDialog.show();
並調用alertDialog.dismiss();
每當您想關閉警報對話框時
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.