我希望在单选按钮EditText
时在字符串中获取setOnCheckedChangeListener(false)
值,并且这样做
String strmusic = "MyString";
EdiText interst_edt;
rdbtn_music.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(rdbtn_music.isChecked()){
interst_edt.setText(strmusic.toString());
Log.i("HotSpot", "Interest strmusic values-"+strmusic +""+isChecked);
}else{
strmusic = interst_edt.getText().toString();
Log.i("HotSpot", "Interest strmusic values-"+strmusic +""+isChecked);
}
}
});
但是问题是`strmusic字符串值没有使用Edittext中的新给定字符串更新,我做错了请抽取我。
答案 0 :(得分:1)
当onclick中的radiobutton状态发生变化时,将调用setOnCheckedChangeListener。检查它是否处于false状态。
并确保您对您的编辑文字进行了初步化
EdiText interst_edt =(EditText)findViewById(R.id.edittext);
答案 1 :(得分:1)
我得到了你的问题的解决方案。尝试在Code下面执行。
RadioButton radioButton;
EditText editText;
String strmusic = "MyString";
boolean BOOL = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioButton = (RadioButton) findViewById(R.id.radioButton1);
editText = (EditText) findViewById(R.id.editText1);
radioButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId()==radioButton.getId() && BOOL){
radioButton.setChecked(false);
}else{
BOOL=true;
}
}
});
radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
Log.i("HotSpot", "Interest strmusic values- Before" + strmusic
+ "" + isChecked);
if (isChecked) {
/* Log.i("HotSpot", "Inside true");
editText.setText(strmusic.toString());
strmusic = editText.getText().toString();
buttonView.setChecked(false);
Log.i("HotSpot", "Interest strmusic values-" + strmusic
+ "" + isChecked);*/
BOOL=false;
} else {
Log.i("HotSpot", "Inside False");
strmusic = editText.getText().toString();
Log.i("HotSpot", "After Radio Button False Value of strmusic:" + strmusic
+ "");
// buttonView.setChecked(true);
}
}
});
}