为什么每当我尝试更改EditText的文本时,我的应用程序总是会崩溃?我试过了
celc =(EditText)findViewById(R.id.cel);
far =(EditText)findViewById(R.id.fa);
Ran =(EditText)findViewById(R.id.ran);
kelvin =(EditText)findViewById(R.id.kev);
celc.addTextChangedListener(new TextWatcher(){
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String value = s.toString() ;
double c1 = Double.parseDouble(value) ;
double f1 = (32+((9.0/5)*c1));
double r1 = f1+460 ;
double k1 = c1 + 273.0 ;
far.setText(f1+"");
Ran.setText((r1 + ""));
kelvin.setText(k1+"");
}
}); but it doesn't work.
答案 0 :(得分:3)
如果你检查EditText的文档,你会发现一个setText()方法。它接受一个String和一个TextView.BufferType。例如:
EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setText("Google is your friend.", TextView.BufferType.EDITABLE);
或者使用+,字符串连接运算符:
ed = (EditText) findViewById (R.id.box);
int x = 10;
ed.setText(""+x);
或
String.valueOf(int):
ed.setText(String.valueOf(x))
答案 1 :(得分:0)
也许您没有将视图对象与java对象链接。
你用findViewById方法做到了这一点。
您的布局文件:
<EditText ... android:id="@+id/edittext" />
Java代码:关于类定义:
private EditText myEditText;
和方法onCreate:
edittext = (EditText) findViewById(R.id.editText);
祝你好运!