java错误:无法解析MyFirstApp教程中的符号“edit_message”
这是MyActivity中的代码。爪哇:
public class MyActivity extends AppCompatActivity {
public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";
/** Called when the user clicks the Send button */
public void sendMessage(View view){
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);
}
}
它表示无法解析符号“编辑消息”(见第6行)。 这个问题的答案是将这个字符串添加到字符串中。xml,但它已经存在了,并且声明很好:
<resources>
<string name="app_name">My First App</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string name="title_activity_display_message">My Message</string>
<string name="hello_world">Hello world!</string>
</resources>
Gradle Build中的错误消息是: 错误:(21,57)错误:找不到符号变量编辑_消息
为什么找不到这根绳子
我已经盯着这个看了很长一段时间,几乎为自己解决不了这个问题而感到羞愧。。我是说,这是一个大声哭喊的教程。非常感谢您的帮助
# 1 楼答案
如果您试图访问资源,请执行以下操作:
id是:
R.id.edit_message
上下文可以替换为
this.
或getBaseContext()
要访问
EditText
,需要在布局的XML文件中声明(或在运行时声明)# 2 楼答案
您的代码正在查找名为“edit_message”的“EditText”元素(而不是具有此名称的字符串),因此布局xml文件应该包含}
EditText
元素和id
{