ClassCastException异常:android.widget.EditText [英] ClassCastException: android.widget.EditText
本文介绍了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_NAME =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_IMAGE_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_NAME,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_NAME,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:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT机器人:方向=垂直>
< TextView的Android版本:文本=名称机器人: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的Android版本:文本=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的Android版本:文本=图片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中>
解决方案
- 清洁项目
- 保存文件
- 在构建和放大器;运行
玩得开心^^!
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>
解决方案
- Clean project
- Save files
- Build & Run
have fun ^^!
这篇关于ClassCastException异常:android.widget.EditText的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文