我正在通过Reto Meier精彩的专业Android 4应用程序开发中的第一个TodoList示例,但有一个小问题,我还没有能够解决。这是代码:
package com.paad.todolist;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.EditText;
import android.widget.ListView;
public class ToDoListActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_do_list);
// Get references to UI widgets
ListView myListView = (ListView) findViewById(R.id.myListView);
final EditText myEditText = (EditText) findViewById(R.id.myEditText);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_to_do_list, menu);
return true;
}
}
这与使用main.xml的书略有不同。后来的Eclipse创建了activity_to_do_list.xml,它与书的内容相同。
我最初的问题是R.id.myListView和R.id.myEditView没有得到识别,我试过了Project |清洁解决这个问题。这使事情变得更糟,现在" R无法解析为变量"。我怀疑干净删除了生成的代码。
此外,我在清单中有错误:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.paad.todolist"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ToDoListActivity"
android:label="@string/title_activity_to_do_list" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
@ string / title_activity_to_do_list不起作用,并不太令人惊讶,因为干净似乎也删除了res \ values \ string.xml。
帮助!
答案 0 :(得分:0)
您需要创建string.xml文件。在其中,您需要为title_activity_to_do列表定义字符串。您的清单文件从string.xml中获取值。 像这样:
<resources>
<string name="app_name">APP NAME</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_to_do">MY NAME</string>
</resources>
修复引用错误后,再次清理项目并解决“R无法解析为变量”错误。
答案 1 :(得分:0)
你必须创建res / values / strings.xml,并在里面放置这些格式的字符串:
如果布局res不正确,则R未正确生成(或未生成),这就是其他事情开始显示错误的原因。