单击 android hello world 程序中的按钮时出现 IllegalStateException

2023-12-12

我是 android 新手,我正在尝试实现 android google 开发人员网站上给出的 MyFirstApp,因此应用程序包含一个文本框和按钮,如果您在文本字段中输入任何文本并单击按钮,它会在屏幕上显示相同的内容,但有问题当我点击发送按钮时。 请指导我如何解决这个问题。

以下例外情况:

<p>03-15 18:00:03.430: E/AndroidRuntime(592): FATAL EXCEPTION: main</p>
<p>03-15 18:00:03.430: E/AndroidRuntime(592): java.lang.IllegalStateException:Could not find a method MainActivity.sendMessage(View) in the activity class com.example.myfirstapp.DisplayMessageActivity for onClick handler on view class android.widget.Button</p>
<p>03-15 18:00:03.430: E/AndroidRuntime(592):   at android.view.View$1.onClick(View.java:3031)</p>
<p>03-15 18:00:03.430: E/AndroidRuntime(592):   at android.view.View.performClick(View.java:3511)</p>

这里有两个活动:
1.显示消息活动 这是 android 清单文件中提到的活动。 本实现布局部分

       public class DisplayMessageActivity extends Activity {

        @Override
         protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        // Get the message from the intent
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Create the text view
        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        // Set the text view as the activity layout
        setContentView(textView);

        setContentView(R.layout.activity_display_message_1);

    }
       }

2.主要活动
这是活动实现 sendmessage 函数,当用户单击按钮时调用该函数。

      public class MainActivity extends Activity {

    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

    /** Called when the user clicks the Send button */
    public void sendMessage(View view) {
        // Do something in response to button
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }


}

Android 清单 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="DisplayMessageActivity"
            android:label="@string/title_activity_display_message">
           <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>
    </application>

</manifest>

和布局 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" >

    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send" 
        android:onClick="sendMessage"/>

</LinearLayout>

Edit:

更改您的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
 <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_display_message">
           <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>


<activity
            android:name=".DisplayMessageActivity" />
    </application>

</manifest>

显示消息活动:

public class DisplayMessageActivity extends Activity {

        @Override
         protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        // Get the message from the intent
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Create the text view
        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        // Set the text view as the activity layout
        setContentView(textView);



    }
       }

主要活动:

public class MainActivity extends Activity {

    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
  @Override
             protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_display_message_1);
}

    /** Called when the user clicks the Send button */
    public void sendMessage() {
        // Do something in response to button
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }

}

你的布局应该有一个生命周期方法onCreate它应该有一个 onCreate 方法,你需要设置setContentview(R.layout.yourlayout)对于主要活动

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单击 android hello world 程序中的按钮时出现 IllegalStateException 的相关文章

  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 当活动被破坏时如何保存状态

    public class Talk extends Activity private ProgressDialog progDialog int typeBar TextView text1 EditText edit Button res
  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 使用全局变量从内部函数获取空字符串

    请帮助我解决一些小问题 我确信你能做到 D 我试图在 firestore 文档 user cases information 上设置一个字段 其中包含一个字段 case number 首先我声明这个全局变量 private String c
  • Android 和 Honeycomb - 如何使用 SDK 13 拥有菜单图标而不需要“操作栏”

    我想最大限度地利用 Honeycomb 应用程序的屏幕 由于屏幕底部已经被 始终打开 的项目所困 我想在该空间中添加一个菜单按钮 而不是牺牲更多的屏幕空间 在顶部放置一个 操作栏 我怎样才能做到这一点without降级到 API 10 或更
  • 如何在启用抗锯齿的情况下旋转可绘制对象

    我需要将 ImageView 旋转几度 我通过子类化 ImageView 和重载来做到这一点onDraw Override protected void onDraw Canvas canvas canvas save canvas sca
  • 改造将多个图像上传到单个密钥

    我正在使用 Retrofit 将图像上传到我的服务器 这里我需要为一个密钥上传多个图像 我已经尝试使用 Postman 网络客户端 它运行良好 这是一个屏幕截图 以下是请求的键值对 调查图像 文件1 文件2 文件3 属性图像 文件DRA j
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • 如何告诉 OkHttpClient 忽略缓存并强制从服务器刷新?

    在我的 Android 应用程序中 我将 Retrofit 与 OkHttpClient 结合使用 并启用缓存来访问某些 API 我们的一些 API 有时会返回空数据 我们在应用程序中提供了一个 刷新 按钮 供客户端从特定 API 重新加载
  • Google Wallet for Digital Goods API 与 Google Play 应用内结算

    想知道 Google 电子钱包结算 API 和 Google Play 应用内结算之间有什么区别 与 Google 电子钱包结算 API 相比 使用 GooglePlay 应用内购买结算服务有何优势 我看到 Wallet API 也支持 A
  • 如何在移动应用程序上连接到服务器?

    我是移动应用程序的新手 我基本上来自网络开发平台 我只是在玩 App Framework LungoJS Jquery Mobile kendo 等移动框架 以获得该垂直领域的一些知识 我正在开发的应用程序仍然处于 UI 级别 我所需要的只
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • Android 导航组件 - 从“任何地方”/基本片段导航?

    我正在开发一个应用程序 它有一个奇怪的花招 可以在设备旋转时打开特定的片段 在实现 android 的导航组件之前 所需要的只是对当前活动的引用 并且可以在特定时刻向用户显示的任何内容之上执行手动片段事务 但是在转移到导航组件之后 我发现很
  • 如何在 LazyColumn 底部添加空白区域?

    我想添加 LazyColumn 的空白底部 并且我想允许用户调出底部元素 我怎样才能实现这个 Example LazyColumn modifier Modifier fillMaxWidth height 300 dp border 2
  • 使用bindService启动IntentService时是否应该调用onHandleIntent?

    我的服务延伸IntentService当它开始时startService onHandleIntent被叫 但是 当服务启动时bindService 我确实需要绑定 onHandleIntent没有被调用 Should onHandleIn
  • 如何在android中将文本放在单选按钮的左侧

    我想将单选按钮的文本放在左侧而不是右侧 我找到了这个解决方案
  • Recyclerview项目点击涟漪效果[重复]

    这个问题在这里已经有答案了 我正在尝试添加Ripple影响到RecyclerView的项目 我在网上查了一下 但找不到我需要的东西 我努力了android background归因于RecyclerView本身并将其设置为 android
  • 永久删除Android文件

    我发现了一个名为这会从 Android 设备中永久删除文件和文件夹 以便删除的文件无法再恢复 这是我正在谈论的应用程序 但我想知道如何做到这一点 我知道它是用 android studio 制作的 i尝试了常规的删除方式file delet
  • PhoneGap Build Android 不显示闪屏

    这是我的 config xml 中与启动屏幕相关的代码
  • 连接到具有相同 SSID 的最强接入点(信号最强的接入点)

    我正在编写一个程序来始终连接到最强的接入点 我的意思是信号最强的接入点 首先 我扫描所有可用的 WiFi 网络 然后限制它们仅查看具有相同 SSID 的网络 这样我就可以看到一个网络的所有AP 当我连接到该网络时 它没有连接到最强的信号 但

随机推荐

  • Apache POI:如何添加对角边框

    我想用Apache POI画画Diagonal Border但我找不到任何函数可以支持该功能 我试过这个设置边框对角线但它不起作用 XSSFSheetConditionalFormatting my cond format layer my
  • Cakephp:插入tinyint字段时。仅获取“0”或“1”

    我是 cakephp 的菜鸟 从事开源项目 问题是 当我为某个表插入一个值 is adjusted tinyint 时 我的 php 代码成功执行 但该表仅采用 0 或 1 作为其值 示例代码 reward ta customer rewa
  • 使用 iPhone 进行移动设备管理

    任何人都可以给我提供一些有关 iOS4 的 iphone 设备管理的信息吗 1 如何实现它以及它将如何工作 2 它是否可以仅与企业许可证持有者一起使用 或者我们可以简单地实施开发人员许可证 3 任何具体文档或帮助 Thanks 1 如何实现
  • Swift:将图像添加到 CAShapeLayer

    我有一个带有填充颜色的 CAShapeLayer 并且想要在此形状的中心添加一个图标 var shape CAShapeLayer shape fillColor UIColor white 0 90 alpha 1 CGColor var
  • 如何将按位运算应用于 JS 数字的实际 IEEE 754 表示?

    在 JavaScript 中 每当您执行按位运算时 例如x lt lt 2 在实际发生移位之前 64 位浮点表示形式会转换为 32 位无符号整数 我有兴趣将这种转换应用于实际的 未改变的 IEEE 754 位表示 这怎么可能 您可以尝试先将
  • 生成 ASCII 艺术文本的 PHP 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在尝试制作一个与使用 ASCII 艺术文本的其他系统不同的验证码系统 类似可以查到的here 有谁知道可以生成类似内容的库 您链接使用的 ASC
  • Codeigniter - 在特定视图上加载特定的 JS 库

    我正在尝试加载谷歌地图 API 即
  • 如何在 django 模板中执行查询过滤

    我需要从 django 模板中执行过滤查询 以获取与视图中的 python 代码等效的一组对象 queryset Modelclass objects filter somekey foo 在我的模板中我想做 for object in d
  • 无法解析绑定。敲除错误

    这是我学习淘汰赛的第二天 尝试附加 deleteItem 以进行按钮单击 它给出以下错误 Error 未捕获的错误 无法解析绑定 消息 ReferenceError deleteItem 未定义 绑定值 点击 deleteItem Java
  • 无法从本地 App Engine 开发服务器访问 BigQuery

    这具体是一个与 python Google App Engine 应用程序和 Google BigQuery 之间的服务器到服务器身份验证相关的问题 但可能与其他云服务相关 太棒了 是否可以让 App Engine 本地开发服务器通过远程
  • 如何使用 GatsbyJS 根据路由渲染组件?

    我在用着GatsbyJS我正在尝试渲染一个不同的header根据URL的路由 例子 mydomain com gt 应该渲染HeaderLanding mydomain com blog gt 应该渲染HeaderMain 有谁知道创建条件
  • 尝试后 sys.exit 无法按预期工作:

    我尝试了以下脚本 我的本意是如果下面代码段中的命令 command a 执行成功 则程序结束 否则 它会执行附加处理 usr bin python import subprocess try command command a subpro
  • 如何创建 JSON 以匹配/序列化到 WCF Rest 服务中的 DataContract

    界面 namespace SQRT WCF DataContract public class PlaceOrder DataMember public string claimID get set DataMember public st
  • JQuery 3.5.1 并拒绝执行内联脚本,因为它违反了以下内容安全策略指令:

    我将 jQuery 从 2 1 1 升级到 3 5 1 我开始在 jQuery 中看到这个问题 拒绝执行内联脚本 因为它违反了以下规定 内容安全策略指令 script src self 随机数 YURLOAQRrIwdGEqYSSpHx9Y
  • IBM Watson 视觉识别 - API 密钥无效

    我正在尝试通过 IBM Watson 的 API 来使用视觉识别 这是我发送的 POST 请求 https gateway a watsonplatform net visual recognition api v3 classify ap
  • MATLAB:选择给定范围之外的所有数组

    我想对不属于特定范围的数组内容执行指标 例如 我有一个 1000 行 2 列的数组 我想对一列 假设为第 2 列 中不属于第 50 150 250 300 400 700 和 900 950 行的所有元素执行mean 计算 因此 平均值应根
  • 使用多个帐户登录时,如何一一避免 Changes.list 缩略图上出现 404 错误?

    当我登录多个帐户并对changes list 进行API 调用时 我收到图像缩略图的404 错误 重现该问题的完整步骤如下 使用两个帐户登录 一个是个人 Gmail 帐户 一个是 Google Apps 帐户 分别为 User gmail
  • 如何在缩放的图像上绘图?

    我有一个图片框Size我的应用程序中为 400X400 这SizeMode图片框的设置为Zoomed 我在图片框中加载了一张700X446的png图像 我有以下问题 尽管我沿着红色路径绘制一条黑色直线 但实际上它是沿着加载的图像以透视方式显
  • Python 标记化

    我是 Python 新手 我有一个标记化作业 输入是一个包含句子的 txt 文件 输出是带有令牌的 txt 文件 当我说令牌时 我的意思是 简单的单词 我有这个功能 输入 Elemnt 是一个带或不带标点符号的单词 可以是这样的单词 嗨或说
  • 单击 android hello world 程序中的按钮时出现 IllegalStateException

    我是 android 新手 我正在尝试实现 android google 开发人员网站上给出的 MyFirstApp 因此应用程序包含一个文本框和按钮 如果您在文本字段中输入任何文本并单击按钮 它会在屏幕上显示相同的内容 但有问题当我点击发