Android应用中的按钮按下会导致出现错误

 手机用户2602901471 发布于 2023-02-04 20:57

我是Android开发的新手,并且一直在尝试使用初学者的教程作为开发简单应用程序的起点.有一个屏幕,一个图像,一排四个按钮,一个供用户输入图钉的文本框,以及一个显示结果的文本视图.



    

    

                

我有代码根据按下的按钮提供我想要的结果 - 一切都很好.但后来我希望用户输入PIN以及按下按钮,所以我添加了EditText控件.这引发了以下错误:

E/AndroidRuntime(28578): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText

我的Java类:

private String content = null;  
private TextView textView1;
private EditText editText1;

public void today_click(View view) {
    getPage("today");
}
public void tomorrow_click(View view) {
    getPage("tomorrow");
}
public void this_week_click(View view) {
    getPage("thisweek");
}
public void next_week_click(View view) {
    getPage("nextweek");
}

public void getPage(String strParam) {

    editText1 = (EditText) findViewById(R.id.editText1);
    String message = editText1.getText().toString();

    if (message.equals("4567")) {

                content = "PIN recognised";
    } else {
        content = "PIN not recognised";
    }
    textView1 = (TextView) findViewById(R.id.textView1);
    textView1.setText(content);
}

我以为我做了一些愚蠢的事情,使用TextView的名称而不是EditText控件,但如果我有,我找不到它.

该错误正在线上引发

getPage("thisweek");

我不明白这一行如何涉及任何类型的视图,当然还有函数标题

this_week_click(View view)

当我更改XML文件中的TextView和EditText的顺序(以便TextView首先出现)时,错误消失了.就好像传递的"视图"不是按钮,而是按钮的最近的小部件.我读过了

参数的存在(查看视图)

但它似乎只能证实我(错误)理解按钮应作为视图参数传递.我也尝试过清理项目,并建立一个全新的项目.究竟是什么导致了铸造错误?

1 个回答
  • 如果您正在使用Eclipse,请转到菜单"Project"并选择"Clean"

    有时候Eclipse有一些问题,通过清理你重新生成它们的项目.

    2023-02-04 21:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有