Android Studio MyFirstApp 教程中的错误 "Cannot resolve Symbol editText"

Error "Cannot resolve Symbol editText" in Android Studio MyFirstApp tutorial

我是 Android Studio 和 Android 开发的新手。所以我正在按照 developer.android.com 给出的教程进行操作,但我在这一行中遇到了错误:EditText editText = (EditText) findViewById(R.id.editText); 错误是说:找不到符号变量 editText 。

这是我的代码的一部分:

import android.os.Bundle;
import android.widget.EditText;


public class MainActivity extends AppCompatActivity {
   
    public void sendMessage(View view){
        EditText editText = (EditText) findViewById(R.id.editText);
        String message = editText.getText().toString();

    }
}

您可能缺少 XML 中的编辑文本。如果不是,可能是您给它的 id 与 editText 不同。

<EditText
    android:layout_width="368dp"
    android:layout_height="wrap_content"
    android:id="@+id/editText" />

如果不发布您的 XML 代码,它会有点困难,但是我猜想如果您返回到您的 XML 代码,那里有编辑文本 xml 代码。添加此 android:id="@+id/editText".

确保您已在 activity_main.xml 中为您的 EditText 分配 id,如下所示:

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

我遇到了和你一样的问题。我回到 activity_main.xml 并注意到右上角文本框属性下的 ID 有所不同。改回 ID 并重新运行应用程序,没有问题/

原因是你需要写editTextTextPersonName2而不是editText来匹配activity_main.xml中的定义:

android:id="@+id/editTextTextPersonName2"

代码如下:

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

R.id.editTextTextPersonName2 导致问题。您可以尝试 R.id.editText 并通过在 activity_main.xml

中添加 android:id="@+id/editText" 来遵循其他人提到的建议