我正在阅读 Reto Meier 精彩的 Professional Android 4 Application Development 中的第一个 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 不起作用,这并不奇怪,因为 clean 似乎也删除了 res\values\string.xml 。
帮助!