所以我按照https://developer.android.com/training/basics/firstapp/index.html上的教程试图构建一个应用程序,我现在已经编写了所有代码但是有一些错误。如果重要,我正在使用Eclipse。
activity_main.xml:我在@ string / edit_message上遇到错误 - “错误:错误:找不到与给定名称匹配的资源(在'提示'处,值为'@ string / edit_message')。”
和@ string / button_send - “错误:错误:找不到与给定名称匹配的资源(在'text'处,值为'@ string / button_send')。”
<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="match_parent"
android:orientation="horizontal" >
<EditText android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>
然后是MainActivity.java - 这里我在EditText上得到一个错误editText =(EditText)findViewById |这部分(R.id.edit_message); |说“edit_message无法解析或不是字段”
package com.example.myfirstapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
/** 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);
// Do something in response to button
}
}
接下来,在strings.xml上,我得到:“在此行找到多个注释: - 错误:解析XML时出错:格式不正确 (无效令牌)“在_settings旁边”&gt;设置 代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My First App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="title_activity_display_message">Mitt meddelande</string>
</resources>
_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>
然后在@ string / hello_world上的activity_display_message.xml上我得到“错误:错误:找不到与给定名称匹配的资源(在'text'处,值为'@ string / hello_world')。”
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".DisplayMessageActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
最后,在DisplayMessageActivity.java上,(R.layout。| this part - activity_display_message)|我得到“activity_display_message无法解析或不是字段”
package com.example.myfirstapp;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;
public class DisplayMessageActivity extends Activity {
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Show the Up button in the action bar.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
很抱歉这篇文章篇幅很长而且可能很混乱,但我是新手并试图学习,所以我真的很想知道这些错误是什么!
提前致谢!
答案 0 :(得分:2)
public void SendMessage(View view) {
^
答案 1 :(得分:2)
您忘记设置此元素的ID:
<EditText android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message"
/>
添加android:id="@+id/edit_message"
可以解决您的问题。
答案 2 :(得分:1)
这一部分就是搞砸了所有事情。
</resources>
_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>
如果您的任何文件中包含错误的XML,则不会正确包含任何XML文件,因此会出现大量错误。我不确定你要对_settings">Settings</string>
做什么,但要么必须解决这个问题或将其删除。
编辑:实际上,看一下教程,你将不得不删除第一个</resources>
,然后删除我之前提到的那一行。它应该在那之后工作。
答案 3 :(得分:1)
你应该在你的资源中添加这个
<string name="edit_message">Something here</string>
<string name="button_send">Something here</string>
编辑:并修复此问题:
设置
答案 4 :(得分:1)
你的String资源文件应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">My First App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="title_activity_display_message">Mitt meddelande</string>
<string name="edit_message">edit msg</string>
<string name="button_send">send</string>
</resources>
你错过了一些项目并且有格式错误