android - R.id.myEditText 错误//todolist 尝试

标签 android r.java-file

大家好, 我从 WROX(Android 2 应用程序开发)买了一本 android 开发书籍,在第 2 章他们有一个普通的任务列表项目,我似乎无法开始工作。

我复制了确切的代码行并尝试调整它们以使其正常工作,但无论我做什么,以下行仍然是错误。

final EditText myEditText = (EditText) findViewById(R.id.myEditText);

错误是 R.id.myEditText,我已将它添加到 R.java 文件中,但不幸的是它不想工作。

它的 java 文件如下。


package com.paad.todolist;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView; 

public class ToDoList extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    ListView myListView = (ListView) findViewById(R.id.myListView);
    final EditText myEditText = (EditText) findViewById(R.id.myEditText);

    final ArrayList<String> todoItems = new ArrayList<String>();

    final ArrayAdapter<String> aa;
    aa = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, todoItems);

    myListView.setAdapter(aa);

    myEditText.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keycode, KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_DOWN)
                if (keycode == KeyEvent.KEYCODE_DPAD_CENTER) {
                    todoItems.add(0, myEditText.getText().toString());
                    aa.notifyDataSetChanged();
                    myEditText.setText("");
                    return true;
                }
            return false;
        }
    });
}

}

XML文件如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/myTextView"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<ListView
    android:id="@+id/myListView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    />
</LinearLayout>

有什么想法吗?

最佳答案

您无需直接更新 R.java 文件,该文件会在您构建项目时自动生成。问题是您没有将 EditText 添加到布局中:

<EditText
    android:id="@+id/myEditText"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />

关于android - R.id.myEditText 错误//todolist 尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537528/

相关文章:

android - Android Studio 中的 "cannot resolve symbol R"

android - 修复 styles.xml 中的错误以生成 R.java : No resource found name 'Theme.AppCompat.Light'

java - 通过 ACTION_SEND 共享当前 View 而不将图像存储在 android 中

android - drawable 目录中的 xml 文件?肯定有什么错误吗?

java - F-Droid.com 上的 R.java 文件

java - 在 Eclipse 中将 XML 文件添加到 Android 项目时出错

读取 Microsoft Word 文档时出现 Android Apache POI 错误 : org. apache.xmlbeans.SchemaTypeLoaderException Cannot resolve type for handle

java - 如何以编程方式在 View 内添加cardview但使用xml中声明的布局?

android - R无法解析