【问题标题】:How can I resolve "cannot find symbol ... " in Android Studio如何在 Android Studio 中解决“找不到符号 ...”
【发布时间】:2017-05-17 15:34:29
【问题描述】:

我正在尝试在 android 开发者网站上学习 android。但是,我在听他们的课时遇到了一个错误。尽管我只是从他们的网站上打字,但 findViewByID 似乎无法解析 R.id.editText。有人可以帮忙吗,谢谢

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);
}

这里是错误信息:“Error:(22, 57) error: cannot find symbol variable editText”。

【问题讨论】:

  • 此代码是否在活动中?
  • 粘贴整个代码,包括行号
  • 显示找不到符号是不是你的id,editText
  • 所以问题可能是您在清单文件中缺少该 ID
  • 谢谢大家,我刚刚在 xml 中包含了 id,现在它可以完美运行了。

标签: android android-studio


【解决方案1】:

只需做一件事,将其从 sendMessage 函数中删除,然后

EditText editText = (EditText) findViewById(R.id.editText);

将此行放在setContentView(R.____); 的正下方 我想,这会解决你的问题

【讨论】:

    【解决方案2】:

    findViewByID 好像无法解析 R.id.editText

    您可能缺少将EditText id 定义为editText

     <EditText
           .....
            android:id="@+id/editText"
              .....
       />
    

    YourCurrentActivity.java

    @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
          ......
     }
    

    【讨论】:

    • 我应该在哪个 xml 文件中定义 editText,因为我没有看到它们包含在讲座中
    • 你当前的活动 xml
    • 谢谢,它确实有效,讲座使用xml的设计布局,所以我忘了检查定义id。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 2015-12-02
    • 2016-04-06
    • 1970-01-01
    • 2016-03-02
    相关资源
    最近更新 更多