我想更改对话框中复选框旁边的文本。
package com.codingdemos.customdialogcheckbox;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
View mView = getLayoutInflater().inflate(R.layout.dialog_app_updates, null);
CheckBox mCheckBox = mView.findViewById(R.id.checkBox);
mBuilder.setTitle("What's new in V1.0");
mBuilder.setMessage("1- Lorem ipsum dolor sit amet. \n2- consectetur adipiscing elit. \n3- Vestibulum vulputate fringilla justo. \n4- nec varius magna suscipit ac.");
mBuilder.setView(mView);
mBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
AlertDialog mDialog = mBuilder.create();
mDialog.show();
mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(compoundButton.isChecked()){
storeDialogStatus(true);
}else{
storeDialogStatus(false);
}
}
});
if(getDialogStatus()){
mDialog.hide();
}else{
mDialog.show();
}
}
private void storeDialogStatus(boolean isChecked){
SharedPreferences mSharedPreferences = getSharedPreferences("CheckItem", MODE_PRIVATE);
SharedPreferences.Editor mEditor = mSharedPreferences.edit();
mEditor.putBoolean("item", isChecked);
mEditor.apply();
}
private boolean getDialogStatus(){
SharedPreferences mSharedPreferences = getSharedPreferences("CheckItem", MODE_PRIVATE);
return mSharedPreferences.getBoolean("item", false);
}
}
我想将“ 不再显示此消息”的文本更改为“我同意条款和条件”
答案 0 :(得分:0)
只需添加
mCheckBox.setText(“我同意条款和条件”);
mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(compoundButton.isChecked()){
storeDialogStatus(true);
}else{
storeDialogStatus(false);
}
}
});
if(getDialogStatus()){
mDialog.hide();
}else{
mDialog.show();
}
}