Java 持续更新文本
以下是我的文本字段、单选按钮等:Java 持续更新文本,java,android,Java,Android,以下是我的文本字段、单选按钮等: et1 = Edit Text Field radioButton1 = Radio Button (part of group1) radioButton2 = Radio Button (part of group1) textView2 = Text View 我想做的是根据et1中的内容和选择的单选按钮不断更新textView2 我在想问题可能是这样做的方法convertUp/co
et1 = Edit Text Field
radioButton1 = Radio Button (part of group1)
radioButton2 = Radio Button (part of group1)
textView2 = Text View
我想做的是根据et1中的内容和选择的单选按钮不断更新textView2
我在想问题可能是这样做的方法convertUp/convertDown。它仅在实际单击单选按钮而未选中时运行
如果这是个问题,有人能告诉我怎么做吗。如果不是,有人能向我解释一下我错在哪里吗。我将非常感激。提前谢谢
以下是我使用的代码:
(“mark”是将在textView2中更新的变量,“value”是“mark”所依赖的变量-如方法中所示)
或者试试tv1.setText(“+mark”);在OnClickListener listener1和OnClickListener listener2中,您需要做几件事才能使其不断更新 首先,您需要一个
TextWatcher
用于EditText
,它将在每次输入新字母时修改textView
et1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try{
value = Double.parseDouble(text.getText().toString());
} catch (final NumberFormatException e) {
value = 1.0;
}
if(rb1.isChecked()){ mark = convertUp(value); }
else{ mark = convertDown(value); }
tv1.setText(""+mark); //will update ur tV every time you input a lleter
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) { }
});
如果您更改了单选按钮
OnClickListener listener1 = new OnClickListener(){
public void onClick(View v) {
try{
value = Double.parseDouble(text.getText().toString());
} catch (final NumberFormatException e) {
value = 1.0;
}
mark = convertUp(value);
tv1.setText(""+mark);
}
};
OnClickListener listener2 = new OnClickListener(){
public void onClick(View v) {
try{
value = Double.parseDouble(text.getText().toString());
} catch (final NumberFormatException e) {
value = 1.0;
}
mark = convertDown(value);
tv1.setText(""+mark);
}
};
希望有帮助!祝你好运 您应该移动
value=Double.parseDouble(text.getText().toString())侧边的code>onClick()
需要beforeTextChanged()还是beforeTextChanged()呢?一点也不需要,但我认为方法addTextChangedListener
需要它!尝试删除它们,看看是否有错误。哦,当然,覆盖并不意味着它们是必需的,但不需要使用。它不允许删除方法,因为在尝试“访问内部类中的局部变量”时遇到问题。我应该在哪里声明对象text、tv1等。我在onCreate方法中尝试过,该方法不允许全局访问变量。并且将变量声明在与mark相同的位置,value会产生NullPointerException运行时错误。没关系,修复了它,感谢您的回答。正是我需要的
OnClickListener listener1 = new OnClickListener(){
public void onClick(View v) {
try{
value = Double.parseDouble(text.getText().toString());
} catch (final NumberFormatException e) {
value = 1.0;
}
mark = convertUp(value);
tv1.setText(""+mark);
}
};
OnClickListener listener2 = new OnClickListener(){
public void onClick(View v) {
try{
value = Double.parseDouble(text.getText().toString());
} catch (final NumberFormatException e) {
value = 1.0;
}
mark = convertDown(value);
tv1.setText(""+mark);
}
};