设置EditText

时间:2015-09-25 22:48:41

标签: android android-edittext

为什么每当我尝试更改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.

2 个答案:

答案 0 :(得分:3)

  1. 在xml文件中声明EditText
  2. 在活动中找到EditText
  3. 在EditText中设置文本
  4. 如果你检查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);

祝你好运!