ID Value Resource: Android Studio



https://developer.android.com/training/basics/firstapp/starting-activity#BuildIntent

我跟随这个网站上的演示来获得安卓工作室如何工作的大致想法。对于代码的以下部分;按Alt+Enter键"以清除错误。问题是第3行的editText(R.id.editText(使我创建了一个新的id值资源或重命名了引用(我不想这样做(。

public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}

有人能解释一下id值资源是什么吗?此外,关于如何解决此问题的建议?我是安卓工作室的新手,所以我不明白这到底意味着什么。

谢谢。上面写着";错误:找不到符号";

为了解决您的问题,我假设在您的活动主布局中,您添加了一个editText作为视图,这就是如何将Editext添加到布局中

<EditText 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextTextPersonName" //this is the id value
/>

在你的活动代码设置id这样

public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editTextTextPersonName);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}

资源的Id是uniq标识符,例如变量的名称。它应该是uniq,否则你的名字会有问题。

写入的Xml文件:

<?xml version="1.0" encoding="utf-8"?>
<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="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_vertical"
tools:context=".MainActivity">
<!--LOOOOOOOOOOOOOK HERE-->
<TextView
android:id="@+id/placeHereIdWhichYouWant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some text"
/>
</LinearLayout>

字符串editText.getText().toString();只是从EditText视图中获取文本。只要给出EditText的id,如果它不将R导入到你的类,一切都会正常工作

package com.example.test //here name of your package
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

相关内容

最新更新