当前位置: 首页 > 知识库问答 >
问题:

尝试使用Kotlin在android studio 4.1上创建应用程序跟随指南时出错

陶博赡
2023-03-14

遵循指南:“使用静态编程语言构建第一个应用”:https://developer.android.com/training/basics/firstapp/starting-activity#BuildIntent

Android Studio 4.1

在“构建一个简单的用户界面”之前,一切都很好。

完成“启动另一个活动”后,出现错误“未解析引用:editText”

  • 该错误首次出现在构建意图

错误消息:e:C:\Users\Rodrigo\AndroidStudioProjects\MyFirstApp\app\src\main\java\com\example\MyFirstApp\main活动。kt:(17,52):未解析引用:editText

任务:应用程序:合并ExtDexDebug

失败:构建失败,有一个异常。

  • 出了什么问题:任务执行失败:app: compileDebugKotlin.

编译错误。有关更多详细信息,请参阅日志

>

  • 尝试:使用--stackTrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。运行--can以获得完整的见解。

    在https://help.gradle.org获得更多帮助

    代码:src\main\AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myfirstapp">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.MyFirstApp"
            android:fullBackupContent="@xml/backup_descriptor">
            <activity android:name=".DisplayMessageActivity"
                android:parentActivityName=".MainActivity">
                <!-- The meta-data tag is required if you support API level 15 and lower -->
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity" />
            </activity>
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    

    src\main\java\com\form\myfirstapp\DisplayMessageActivity.kt

    package com.example.myfirstapp
    
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.provider.AlarmClock.EXTRA_MESSAGE
    import android.widget.TextView
    
    class DisplayMessageActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_display_message)
        }
    
        val message = intent.getStringExtra(EXTRA_MESSAGE)
    
        val textView = findViewById<TextView>(R.id.textView).apply {
            text = message
        }
    }
    

    src\main\java\com\example\myfirstapp\main活动。kt错误在这里

    package com.example.myfirstapp
    
    import androidx.appcompat.app.AppCompatActivity
    import android.content.Intent
    import android.os.Bundle
    import android.provider.AlarmClock.EXTRA_MESSAGE
    import android.view.View
    import android.widget.EditText
    
    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
        }
    
        fun sendMessage(view: View) {
            val editText = findViewById<EditText>(R.id.editText)
            val message = editText.text.toString()
            val intent = Intent(this, DisplayMessageActivity::class.java).apply {
                putExtra(EXTRA_MESSAGE, message)
            }
            startActivity(intent)
        }
    }
    
    

    src\main\res\布局\activity_display_message.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".DisplayMessageActivity">
    
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="TextView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    
    

    src\main\res\布局\activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="0dp"
            android:layout_height="50dp"
            android:layout_marginStart="16dp"
            android:layout_marginTop="16dp"
            android:gravity="center"
            android:text="@string/edit_message"
            android:textAlignment="center"
            android:textSize="14sp"
            app:layout_constraintEnd_toStartOf="@+id/button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <Button
            android:id="@+id/button"
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:insetTop="0dp"
            android:insetBottom="0dp"
            android:onClick="sendMessage"
            android:text="@string/button_send"
            app:layout_constraintBaseline_toBaselineOf="@+id/textView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@+id/textView" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
    

    src\main\res\values\strings。xml

    <resources>
        <string name="app_name">My First App</string>
        <string name="edit_message">Enter a message</string>
        <string name="button_send">Send</string>
    </resources>
    
    
  • 共有2个答案

    濮景龙
    2023-03-14

    在活动主界面上没有EditText。xml。你已经写信了

    val editText = findViewById<EditText>(R.id.editText)
    

    但是在你的布局中你没有这个id的“EditText”。所以这会引起问题

    姜建德
    2023-03-14

    我在“Android开发指南”中遇到了与MyFirstApp相同的问题https://developer.android.com/training/basics/firstapp/building-ui".

    问题实际上在于该页面上的示例中的纯文本字段的id,如图5中的布局视图所示。

    该图中列出的id是“EditTextPersonName”。一旦您将id更改为“editText”并重新运行程序,它在Kotlin中就可以正常工作。

     类似资料:
    • 当我单击“开始”按钮时,emulator不工作。我能做什么?请帮帮我!这是错误: 我能做什么?请帮帮我! 不可预期的顶级例外:ain.run运行时异常:C:\用户\维森\\Android\Probeta\app\build\中介\类\调试:文件未找到ain.java:246FileUcom.android.dx.command.dexer.文件(FileUain.main)ain.java:215

    • 问题内容: 我正在尝试安装使用gem的开源Rails 3.2.21应用程序,但是当我尝试运行命令时,出现以下错误: 我尝试卸载通过自制软件安装的每个版本的I,然后重新安装它们,如下所示: 然后运行: 正如此处提出的许多类似问题所建议的那样,但仍然导致与上述相同的错误。 请有人可以提供有关如何启动和运行该产品的指导吗? 问题答案: 错误日志显示: 因此,您需要安装: 正如评论中指出的那样,可能需要将

    • 我有一个简单的Java应用程序,我想用Jaeger测试跟踪,但遇到了错误。 Maven依赖- jaeger一体机- 这是代码- 我犯了个错误- 感谢任何帮助!

    • 在调试模式下启动sdk gphone x86 arm上的lib\main.dart...lib\main.dart 失败:生成失败,出现异常。 null 失败:生成失败,出现异常。 > 其中:构建文件'c:\flutter\flutter.pub-cache\hosted\pub.dartlang.org\flutter_local_notifications-3.0.1+2\android\Bu

    • XCode: 11.3 附录1.15 我正在尝试在ios real设备上运行,当应用程序尝试在设备上安装应用程序时,我收到以下错误: 在Xcode中,我将Signin团队设置为我们拥有的开发团队,并且配置文件是Xcode托管的配置文件。在Xcode中编译WebDriverAgent项目时,一切看起来都很好,只是在尝试初始化appium驱动程序时出现了错误。

    • 我是Grails的新手,我用GVM工具安装了它,并试图从终端运行一个默认应用程序,只需尝试以下命令:Grails create-app demo和Grails run-app,我得到了一个巨大的错误: 编辑:问题解决了,只需升级JDK版本。