安卓控件布局的问题(来自初学者)

创建一个Activity有四个控件,layout的main.xml如下:(一)报错的情况error信息:09-0502:48:25.028:E/AndroidRuntim... 创建一个Activity有四个控件,layout的main.xml如下:
(一)报错的情况
error信息:
09-05 02:48:25.028: E/AndroidRuntime(5263): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.activity03/com.example.activity03.Activity03}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText

《main.xml》
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/facetorOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<TextView
android:id="@+id/symbol"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<EditText
android:id="@+id/facetorTwo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<Button
android:id="@+id/calculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

(二)不报错的情况
我把上面的xml 控件位置调整下,就不报错了。
《main.xml》
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/facetorOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<EditText
android:id="@+id/facetorTwo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<TextView
android:id="@+id/symbol"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

<Button
android:id="@+id/calculate"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>

问题:为什么控件位置调了一下,就正常了啊?
也就是说请教error中 “java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText ” 啥意思啊? 谢谢!
Activity里是这么写的:
factorOne = (EditText)findViewById(R.id.facetorOne);
symbol = (TextView)findViewById(R.id.symbol);
factorTwo = (EditText)findViewById(R.id.facetorTwo);
calculate = (Button)findViewById(R.id.calculate);
展开
 我来答
QQMSD8
推荐于2016-01-10 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
很明显啊,这里是说你类型转换异常了
java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText

TextView 不能转换成EditText
你看看你Activity里 findViewById 是不是把EditText的ID弄到TextView那里去了
更多追问追答
追问
factorOne = (EditText)findViewById(R.id.facetorOne);
symbol = (TextView)findViewById(R.id.symbol);
factorTwo = (EditText)findViewById(R.id.facetorTwo);
calculate = (Button)findViewById(R.id.calculate);
追答
很明显啊,这里是说你类型转换异常了
java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
TextView 不能转换成EditText

检查一下你的ID是不是对应的TextView和EditText
火羽传
2014-09-05 · 超过30用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:39.9万
展开全部
这个异常是类型转换异常, 绝对布局时候控件应该是不能覆盖的,你一移动就覆盖了所以会报异常。
追问
是么  解决办法是??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式