找不到符号变量editText

时间:2017-04-02 11:14:29

标签: android

我正在尝试Android Developer的“构建您的第一个应用程序”项目。我已按照相应的说明进行操作,但我遇到了上述错误。

public class MainActivity extends AppCompatActivity {

public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

/** Called when the user taps the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.**editText**);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}

单击“运行”后,显示上面的错误消息。虽然我的其余值可以解析,但editText变量仍然是RED字体(我在上面以粗体显示)。 根据Android Developer的网站,代码块应该是这样的:

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

/** Called when the user taps the Send button */
public void sendMessage(View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.editText);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}

有人可以向我解释为什么我无法解析editText的符号吗?谢谢!

7 个答案:

答案 0 :(得分:1)

你需要确定这两件事:

  1. " activity_main.xml"中有EditText个元素。 android:id="@+id/editText"
  2. 您正在导入正确的R课程。正确的应该是<applicationPackage>.R

答案 1 :(得分:1)

这意味着您尚未使用id edit_text创建资源。 Iniside你的XML确保你已经创建了id

  <EditText
                        android:id="@+id/edit_text"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:textColor="@color/colorBlack"
                        android:textSize="14sp"
                        android:textStyle="normal"/>

如果你创建了带有id的xml,请检查R的导入包

答案 2 :(得分:1)

同样发生在这里。

您需要做的就是更改相应的XML文件,它位于:

 <EditText
                    android:id="@+id/Edit_Text + **smt else**"

要:

 <EditText
                    android:id="@+id/Edit_Text"

如果您有类似的错误,请遵循相同的步骤。我希望我能帮到你!

答案 3 :(得分:1)

我是Android开发的新手,我通过以下更改解决了该问题

之前是这样的,如下所示: activity_main.xml

<TextView
    android:id="@+id/textView"
    android:layout_width="155dp"
    android:layout_height="36dp"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="16dp"
    android:hint="@string/edit_message"
    android:layout_marginStart="16dp" />

activity_main.xml

中用下面的内容替换
<EditText
    android:id="@+id/editText"
    android:layout_width="155dp"
    android:layout_height="36dp"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="16dp"
    android:hint="@string/edit_message"
    android:layout_marginStart="16dp" />

只需将 TextView 替换为 EditText ,并将 @ + id / textView 替换为 @ + id / editText 。< / p>

答案 4 :(得分:1)

这是我的第一个Android应用程序。我如下解决了这个问题-

  1. 转到activity_main.xml

  2. 单击右上角的代码,这里有3个选项-代码|拆分|设计

  3. 替换

          android:id="@+id/editTextTextPersonName"
    

使用

         android:id="@+id/editText"

就这样。

答案 5 :(得分:0)

这也发生在我身上。
在activity_main.xml中有一个"<EditText..."条目,而我的其中某种原因包含了editText2而不是editText。我只需要将其重命名为“ editText”即可。

答案 6 :(得分:0)

由于您从调色板 TextView 而不是纯文本(editText)

插入而导致的错误