如图, 我的代码很简单就是两个数相加,然后再textview中显示,但是在textview01.setText(editText01+editText02);中会有这样的错误。。The operator + is undefined for the argument type(s) android.widget.EditText, android.widget.EditText
请问这是怎么回事?

解决方案 »

  1.   


    那两个是EditText的对象
    你应该写editText01.getText()+editText02.getText()
      

  2.   

    ……editText01和editText02是两个控件,不是两个数
      

  3.   

    editText01是EditText类型,没有加法的,你将EditText获得的值转换成int又不保存,弄个变量保存在计算就ok了,记得最后转为String才能赋给textView
      

  4.   

    textview01.setText(String.valueOf(Integer.parseInt(editText01.getText())+Integer.parseInt(editText02.getText())));
      

  5.   

    先转为int相加,在转为string设置到text
      

  6.   

    package com.lyx;import android.R.integer;
    import android.R.string;
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class Andzuoye2Activity extends Activity {
       int shu1;
        int shu2;
        
        TextView textview01;
        EditText editText01;
        EditText editText02;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button bn=(Button)findViewById(R.id.button01);        editText01=(EditText)findViewById(R.id.edittext01);
         editText02=(EditText)findViewById(R.id.edittext02);
     textview01=(TextView)findViewById(R.id.textview1);
    shu1=Integer.parseInt(editText01.getText().toString());
    shu2=Integer.parseInt(editText01.getText().toString());

            bn.setOnClickListener(new OnClickListener()
    {

    public void onClick(View v)
    {


    //textview01.setText(shu1+shu2);

    textview01.setText(String.valueOf(shu1+shu2)); 
    }
    });
            
        }
    }这样还不行。。
      

  7.   


    package com.lyx;
     
    import android.R.integer;
     import android.R.string;
     import android.app.Activity;
     import android.os.Bundle;
     import android.text.Editable;
     import android.view.View;
     import android.view.View.OnClickListener;
     import android.widget.Button;
     import android.widget.EditText;
     import android.widget.TextView;
     
    public class Andzuoye2Activity extends Activity {
        int shu1;
         int shu2;
         
         TextView textview01;
         EditText editText01;
         EditText editText02;
         @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.main);
             Button bn=(Button)findViewById(R.id.button01);
     
            editText01=(EditText)findViewById(R.id.edittext01);
          editText02=(EditText)findViewById(R.id.edittext02);
      textview01=(TextView)findViewById(R.id.textview1);
     shu1=Integer.parseInt(editText01.getText().toString());
     shu2=Integer.parseInt(editText01.getText().toString());         bn.setOnClickListener(new OnClickListener()
     { public void onClick(View v)
     {
     //textview01.setText(shu1+shu2); textview01.setText(String.valueOf(shu1+shu2)); 
     }
     });
             
         }
     }
     有错误
      

  8.   

    Integer.parseInt(editText01.getText()) + Integer.parseInt(editText02.getText())
      

  9.   

    package com.lyx;
     
    import android.R.integer;
     import android.R.string;
     import android.app.Activity;
     import android.os.Bundle;
     import android.text.Editable;
     import android.view.View;
     import android.view.View.OnClickListener;
     import android.widget.Button;
     import android.widget.EditText;
     import android.widget.TextView;
     
    public class Andzuoye2Activity extends Activity {
        int shu1;
         int shu2;
         
         TextView textview01;
         EditText editText01;
         EditText editText02;
         @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.main);
             Button bn=(Button)findViewById(R.id.button01);
     
            editText01=(EditText)findViewById(R.id.edittext01);
          editText02=(EditText)findViewById(R.id.edittext02);
      textview01=(TextView)findViewById(R.id.textview1);
     shu1=Integer.parseInt(editText01.getText().toString());
     shu2=Integer.parseInt(editText01.getText().toString());         bn.setOnClickListener(new OnClickListener()
     { public void onClick(View v)
     {
     //textview01.setText(shu1+shu2); textview01.setText(String.valueOf(shu1+shu2)); 
     }
     });
             
         }
     }有错误
      

  10.   

    shu2=Integer.parseInt(editText01.getText().toString());错了
      

  11.   

       int shu1;
         int shu2;初始值都设为0
      

  12.   

    logat是那shu1那报错..我照了你的方式在运行时还是错了,好奇怪
      

  13.   


    把出错信息贴出来。logcat那一行出错信息
      

  14.   

    估计是没找到这个edittext对象
      

  15.   

    xml代码,logat马上...
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >    <EditText
            android:id="@+id/edittext01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />
        <TextView
            android:id="@+id/textview1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="乘以"
           />
        
        <EditText
             android:id="@+id/edittext02"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
           />
        <Button
            android:id="@+id/button01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="计算"
            /></LinearLayout>
      

  16.   

      super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button bn = (Button) findViewById(R.id.button01);        editText01 = (EditText) findViewById(R.id.edittext01);
            editText02 = (EditText) findViewById(R.id.edittext02);
            textview01 = (TextView) findViewById(R.id.textview1);        bn.setOnClickListener(new OnClickListener() {            public void onClick(View v) {                // textview01.setText(shu1+shu2);                textview01.setText(editText01.getText().toString().trim()
                            + editText02.getText().toString().trim());
                }
            });
      

  17.   

      textview01.setText(Integer.valueOf(editText01.getText()
                            .toString().trim())
                            * Integer.valueOf(editText02.getText().toString()
                                    .trim()));
      

  18.   

      int num1 = Integer.valueOf(editText01.getText().toString()
                            .trim());
                    int num2 = Integer.valueOf(editText02.getText().toString()
                            .trim());                textview01.setText(String.valueOf(num1 * num2));
      

  19.   

            android:id="@+id/edittext01"
            android:text="0"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
      

  20.   

    阴沟里翻船,道行不够。
     shu1=Integer.parseInt(editText01.getText().toString());
     shu2=Integer.parseInt(editText01.getText().toString());
    写到点击事件里去
      

  21.   

    不行啊。在你那能运行吗??你看看我的。
    package com.lyx;import android.R.integer;
    import android.R.string;
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class Andzuoye2Activity extends Activity {
      
        int shu1;
        int shu2;
        TextView textview01;
        EditText editText01;
        EditText editText02;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button bn=(Button)findViewById(R.id.button01);        editText01=(EditText)findViewById(R.id.edittext01);
         editText02=(EditText)findViewById(R.id.edittext02);
     textview01=(TextView)findViewById(R.id.textview1);
    //shu1=Integer.parseInt(editText01.getText().toString().trim());
    //shu2=Integer.parseInt(editText01.getText().toString().trim());
     //shu1=Integer.valueOf(editText01.getText().toString().trim());
    //shu2=Integer.valueOf(editText01.getText().toString().trim());
            bn.setOnClickListener(new OnClickListener()
    {

    public void onClick(View v)
    {


    //textview01.setText(shu1+shu2);

    //textview01.setText(String.valueOf(shu1+shu2)); 
    //textview01.setText(shu1+shu2);
    textview01.setText(Integer.valueOf(editText01.getText().toString().trim())*Integer.valueOf(editText02.getText().toString().trim()));
    }
    });
            
        }
    }
      

  22.   

    1、 shu1=Integer.parseInt(editText01.getText().toString());
     shu2=Integer.parseInt(editText01.getText().toString());写到事件里
    2、 shu1=Integer.parseInt(editText01.getText().toString());
     shu2=Integer.parseInt(editText01.getText().toString());改为shu2=Integer.parseInt(editText02.getText().toString());
    3、shu1+shu2改为shu1*shu2
      

  23.   

    我已经改了,写在里面还是不能运行,你运行出来了???
    我现在的代码。。还是出错,有些已经注释 了
    package com.lyx;import android.R.integer;
    import android.R.string;
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;public class Andzuoye2Activity extends Activity {
      
        int shu1;
        int shu2;
        TextView textview01;
        EditText editText01;
        EditText editText02;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button bn=(Button)findViewById(R.id.button01);        editText01=(EditText)findViewById(R.id.edittext01);
         editText02=(EditText)findViewById(R.id.edittext02);
     textview01=(TextView)findViewById(R.id.textview1);
    //shu1=Integer.parseInt(editText01.getText().toString().trim());
    //shu2=Integer.parseInt(editText01.getText().toString().trim());
     //shu1=Integer.valueOf(editText01.getText().toString().trim());
    //shu2=Integer.valueOf(editText01.getText().toString().trim());
            bn.setOnClickListener(new OnClickListener()
    {

    public void onClick(View v)
    {


    //textview01.setText(shu1+shu2);

    //textview01.setText(String.valueOf(shu1+shu2)); 
    //textview01.setText(shu1+shu2);
    textview01.setText(Integer.valueOf(editText01.getText().toString().trim())*Integer.valueOf(editText02.getText().toString().trim()));
    }
    });
            
        }
    }
      

  24.   


    textview01.setText(String.valueOf(Integer.parseInt(editText01.getText())+Integer.parseInt(editText02.getText())));少转换一次
      

  25.   

    textview01.setText(String.valueOf(Integer.parseInt(editText01.getText().toString().trim())+Integer.parseInt(editText02.getText().toString().trim())));
      

  26.   

    调试成功了。。谢谢了!!!
    有Integer.parseInt()方法转换成整型,然后为什么要用String.valueOf???又转换成字符串??是不是textview只能接受字符串?? 还有trim()方法是什么意思??
      

  27.   

    textview只能取字符串,trim去空格
      

  28.   

    你的意思是 我在editview输入4  3+3  4的话非常感谢你!!!
      

  29.   

    还要问问你的意思是我在一个edittext中输入4  3的话它会帮我去掉空格然后转换为数字43吗?
      

  30.   

    亲,你上面已经知道用Integer包装类把EditText的内容获得并转换为int,你怎么不在button被点击之后再获得然后转换数据类型相加并输出呢?
    int a = Integer.parseInt(editText01.getText());
    int b = Integer.parseInt(editText02.getText());
    textview01.setText(a+b);
    把这三句写在onClick方法内
      

  31.   


    当时我是这样想的,我把它放在外面,能传进onClick方法内。为什么不能传进来?
      

  32.   

    .getText().toString() 呵呵 以前我也遇到
      

  33.   

    onClick方法是要点击了按钮后触发的,而且你输入的值也是变化的,所以那一截都应该在onClick方法里面,这个是Java的事件机制,点击Button后就触发一个按钮被点击的事件,然后去调用onClick方法,再进行取值~计算~显示等处理,处理的代码都是动态的