java - Kotlin 无法识别 Android XML 元素的 ID
问题描述
各位程序员好!
我尝试从我的xml文件示例中调用元素:我的activity.xml中的一个“按钮”但是当我尝试在我试图清理并重新构建项目的代码中调用它时MainActivity.kt没有解析我的id但是仍然有问题也使缓存重新启动无效
像这样我想从我的 acitivty_main.xml 中调用一个按钮
button.setOnClickListener{ }
MainActivity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.mostafa.stringlength.R.id.editText
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.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">
<Button
android:id="@+id/button"
android:layout_width="138dp"
android:layout_height="58dp"
android:layout_marginStart="136dp"
android:layout_marginEnd="137dp"
android:layout_marginBottom="212dp"
android:text="أظهار النتيجة"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/editText"
android:layout_width="411dp"
android:layout_height="360dp"
android:layout_marginStart="43dp"
android:layout_marginTop="44dp"
android:layout_marginEnd="43dp"
android:ems="10"
android:inputType="textPersonName"
android:text="ادخل النص هنا"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="417dp"
android:layout_height="195dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/result"
android:text="النتائج:"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
解决方案
确保您的 gradle 文件顶部有这 2 行
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
并放
import kotlinx.android.synthetic.main.activity_main.*
在您的活动文件中
推荐阅读
- javascript - 请求对象和响应对象
- javascript - ol-ext 控制栏和Controller中的功能
- sql - 使用查找表在数据中搜索特定值
- node.js - 如何使用 CouchDB Nano 检查数据库是否存在
- compiler-errors - Eigen 的编译错误:if 语句中的特征矩阵大小不匹配
- python-3.x - 使用“工作”命令的用户有 5 秒的冷却时间
- ansible - Ansible 检查具有名称的 lxd 容器是否已存在
- c# - 如何比较两个列表框的项目并将唯一项目复制到新列表框
- facebook - Facebook API 发送消息:如何发送链接
- javascript - Cesium实时使用本地时间而不是UTC