ClassCastException异常:android.widget.EditText [英] ClassCastException: android.widget.EditText

查看:164
本文介绍了ClassCastException异常:android.widget.EditText的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我总是得到错误:

  9月10号至三号:55:44.517:ERROR / AndroidRuntime(819):java.lang.ClassCastException:产生的原因android.widget.EditText
 

在我的code,我没有这个词的EditText 那么,为什么这是否发生错误?

在该MultiAutoCompleteTextView是的EditText。请帮忙

code:

 公共类AddPizza延伸活动{
    私人ImageView的IV;
    私人MultiAutoCompleteTextView名称;
    私人的RatingBar评级;
    私人SQLiteDatabase MYDB;
    最后弦乐MY_DB_N​​AME =PizzaCounter;
    最后弦乐MY_DB_TABLE =比萨;

    @覆盖
    保护无效的onCreate(包savedInstanceState){
        // TODO自动生成方法存根
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.addpizza);

        IV =(ImageView的)findViewById(R.id.imageViewPizza);
        名称=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
        等级=(的RatingBar)findViewById(R.id.ratingBar1);
        按钮BT =(按钮)findViewById(R.id.bt_addform);

        iv.setOnClickListener(新OnClickListener(){

            @覆盖
            公共无效的onClick(视图v){
                startActivityForResult(新意图(MediaStore.ACTION_IM​​AGE_CAPTURE),1337);
            }
        });

        bt.setOnClickListener(新OnClickListener(){

            @覆盖
            公共无效的onClick(视图v){
                addData();
                完();
            }


        });

         addAutoSuggest();
    }
    @覆盖
    保护无效onActivityResult(INT申请code,INT结果code,意图数据){
        如果(要求code == 1337){
            iv.setImageBitmap((位图)data.getExtras()获得(数据));
        }
    }
    私人无效addData(){
        MYDB = this.openOrCreateDatabase(MY_DB_N​​AME,MODE_PRIVATE,NULL);
        //myDB.execSQL("DROP表+ MY_DB_TABLE);
        myDB.execSQL(CREATE TABLE IF NOT EXISTS+ MY_DB_TABLE
                    +(_id整数主键自动增量,名称为varchar(100),速率整数(1),eattime为varchar(100),图像BLOB)
                    +;);
        如果(name.getText()等于()及!&安培;!rating.getRating()= 0.0)
        {
            Log.e(XXX,Enter_Insert);
            日历CAL = Calendar.getInstance();
            日期格式格式化=新的SimpleDateFormat();
            ByteArrayOutputStream OUT =新ByteArrayOutputStream();
            位图的bt =((BitmapDrawable)iv.getDrawable())getBitmap()。
            bt.com preSS(Bitmap.Com pressFormat.PNG,100,出);
            ContentValues​​ CV =新ContentValues​​();
            cv.put(形象,out.toByteArray());
            cv.put(名,name.getText()的toString());
            cv.put(eattime,formatter.format(cal.getTime()));
            cv.put(速度,rating.getRating());
            myDB.insert(MY_DB_TABLE,空,CV);

            //myDB.execSQL("INSERT为+ MY_DB_TABLE +(名称,速率,eattime,图像)VALUES ++,++,日期时间(现在,本地时间),);
        }

    }

    无效addAutoSuggest()

    {
         MYDB = this.openOrCreateDatabase(MY_DB_N​​AME,MODE_PRIVATE,NULL);
         ArrayList的<字符串>名单=新的ArrayList<字符串>();
         光标光标= this.myDB.query(MY_DB_TABLE,新的String [] {姓名},NULL,NULL,NULL,NULL,NULL,NULL);
          如果(cursor.moveToFirst()){
             做 {
                list.add(cursor.getString(0));
                }
             而(cursor.moveToNext());
          }
          如果(光标=空&安培;!&安培;!cursor.isClosed()){
             cursor.close();
          }
        name.setAdapter(新ArrayAdapter<字符串>(这一点,android.R.layout.simple_dropdown_item_1line,列表));
    }


}
 

布局:

 <的LinearLayout
  的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
  机器人:layout_width =FILL_PARENT
  机器人:layout_height =FILL_PARENT机器人:方向=垂直>
    < TextView的Andr​​oid版本:文本=名称机器人:ID =@ + ID / textView1机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT>< / TextView的>
    < MultiAutoCompleteTextView机器人:ID =@ + ID / multiAutoCompleteTextView1机器人:layout_height =WRAP_CONTENT机器人:文本=MultiAutoCompleteTextView机器人:layout_width =FILL_PARENT>< / MultiAutoCompleteTextView>

    < TextView的Andr​​oid版本:文本=Bewertung机器人:ID =@ + ID / textView2机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT>< / TextView的>
    <的RatingBar机器人:ID =@ + ID / ratingBar1机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT>< /的RatingBar>
    < TextView的Andr​​oid版本:文本=图片hinzufügen机器人:ID =@ + ID / textView3机器人:layout_width =WRAP_CONTENT机器人:layout_height =WRAP_CONTENT>< / TextView的>
    < ImageView的机器人:layout_height =WRAP_CONTENT机器人:SRC =@可绘制/图标机器人:layout_width =WRAP_CONTENT机器人:ID =@ + ID / imageViewPizza>< / ImageView的>
    < RelativeLayout的机器人:ID =@ + ID / relativeLayout1机器人:layout_width =FILL_PARENT机器人:layout_height =FILL_PARENT>
        <按钮的android:文本=hinzufügen机器人:layout_height =WRAP_CONTENT机器人:ID =@ + ID / bt_addform机器人:layout_alignParentBottom =真正的机器人:layout_width =FILL_PARENT>< /按钮>
    < / RelativeLayout的>
< / LinearLayout中>
 

解决方案
  1. 清洁项目
  2. 保存文件
  3. 在构建和放大器;运行

玩得开心^^!

I always get the error:

10-03 09:55:44.517: ERROR/AndroidRuntime(819): Caused by: java.lang.ClassCastException: android.widget.EditText

In my code I don't have the word EditText so why does that error occur?

The MultiAutoCompleteTextView was a EditText before. Please help

Code:

public class AddPizza extends Activity {
    private ImageView iv;
    private MultiAutoCompleteTextView name;
    private RatingBar rating;
    private SQLiteDatabase myDB;
    final String MY_DB_NAME = "PizzaCounter";
    final String MY_DB_TABLE = "Pizza";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addpizza);

        iv = (ImageView) findViewById(R.id.imageViewPizza);
        name = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
        rating = (RatingBar) findViewById(R.id.ratingBar1);
        Button bt = (Button) findViewById(R.id.bt_addform);

        iv.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE),1337);
            }
        });

        bt.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                addData();
                finish();
            }


        });

         addAutoSuggest();
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1337) {
            iv.setImageBitmap((Bitmap) data.getExtras().get("data"));
        }
    }
    private void addData() {
        myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
        //myDB.execSQL("DROP TABLE " + MY_DB_TABLE);
        myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DB_TABLE
                    + " (_id integer primary key autoincrement, name varchar(100), rate integer(1), eattime varchar(100),image BLOB)"
                    +";");
        if(!name.getText().equals("") && rating.getRating()!=0.0)
        {
            Log.e("XXX", "Enter_Insert");
            Calendar cal = Calendar.getInstance(); 
            DateFormat formatter = new SimpleDateFormat(); 
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            Bitmap bt = ((BitmapDrawable)iv.getDrawable()).getBitmap();
            bt.compress(Bitmap.CompressFormat.PNG, 100, out);
            ContentValues cv = new ContentValues();
            cv.put("image", out.toByteArray());            
            cv.put("name", name.getText().toString());
            cv.put("eattime", formatter.format(cal.getTime()));
            cv.put("rate", rating.getRating());
            myDB.insert(MY_DB_TABLE, null, cv);

            //myDB.execSQL("INSERT INTO "+ MY_DB_TABLE + "(name,rate,eattime,image) VALUES +" +  + ", " ++ " , datetime('now', 'localtime'), " );
        }

    }

    void addAutoSuggest ()

    {
         myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
         ArrayList<String> list = new ArrayList<String>();
         Cursor cursor = this.myDB.query(MY_DB_TABLE, new String[] {"name"},null,null,null,null,null,null);
          if (cursor.moveToFirst()) {
             do {
                list.add(cursor.getString(0)); 
                } 
             while (cursor.moveToNext());
          }
          if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
        name.setAdapter( new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list));
    }


}

Layout:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:orientation="vertical">
    <TextView android:text="Name" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView1" android:layout_height="wrap_content" android:text="MultiAutoCompleteTextView" android:layout_width="fill_parent"></MultiAutoCompleteTextView>

    <TextView android:text="Bewertung" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content"></RatingBar>
    <TextView android:text="Foto hinzufügen" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <ImageView android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="wrap_content" android:id="@+id/imageViewPizza"></ImageView>
    <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <Button android:text="hinzufügen" android:layout_height="wrap_content" android:id="@+id/bt_addform" android:layout_alignParentBottom="true" android:layout_width="fill_parent"></Button>
    </RelativeLayout>
</LinearLayout>

解决方案

  1. Clean project
  2. Save files
  3. Build & Run

have fun ^^!

这篇关于ClassCastException异常:android.widget.EditText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆