首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Android中设置文本

在Android中设置文本
EN

Stack Overflow用户
提问于 2012-12-16 10:07:44
回答 2查看 77关注 0票数 0

我是Android编程的新手,如果这个问题听起来很愚蠢,请原谅。我正在为Android开发一个计算器。所以我有大约20个按钮和一个文本字段。每当按下按钮时,我都会更新文本字段,以便用户知道他输入了什么。

但是,当我更新文本字段时,应用程序崩溃了。

updateExpression是按下任何按钮时调用的方法。

代码语言:javascript
代码运行次数:0
运行
复制
  public void updateExpression (View v)
    {
      Log.d("string", "updateExpression Called");
      EditText text = (EditText) findViewById(R.id.name);
      text.setText("HELLO EVERYONE");
    }

按钮的.xml文件为:

代码语言:javascript
代码运行次数:0
运行
复制
<Button
    android:id="@+id/Button03"
    android:layout_width="70dp"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/name"
    android:layout_below="@+id/name"
    android:onClick="updateExpression"
    android:text="C" />
// goes on for 20 buttons with different ids and text

<TextView  
    android:id="@+id/name"
    android:layout_width="fill_parent" 
    android:text="@string/edit_message" 
    android:layout_height="33dp" 
    android:textColor="@color/opaque_red"/>
</RelativeLayout>

最后,logcat有字符串数据"updateExpression Called“。然而,紧接着它就崩溃了。该错误具有标记AndroidRuntime致命异常main。在这之后还有更多的错误。一个相关的问题(根据我的说法是)

原因: java.lang.classCatException: android.widget.TextView无法转换为android.widget.EditText

请帮帮忙。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-16 10:10:18

正如错误所述,您正在尝试将TextView转换为EditText。这是两个独立的类。

代码语言:javascript
代码运行次数:0
运行
复制
EditText text = (EditText) findViewById(R.id.name); 

应该是

代码语言:javascript
代码运行次数:0
运行
复制
TextView text = (TextView) findViewById(R.id.name); 
票数 2
EN

Stack Overflow用户

发布于 2012-12-16 10:09:40

在xml中,它是代码中的TextView

EditText text = (EditText) findViewById(R.id.name);

这是一个EditText

那就选一个吧。这取决于您的需求。如果用户能够键入此View,则使用EditText。如果它是只读的,并且您将处理这些文本,请选择TextView

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13897978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档