java - android导入和文本ID错误
问题描述
这段代码:
package ir.blog.alilolo.justjava;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
/**
* This app displays an order form to order coffee.
*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* This method is called when the order button is clicked.
*/
public void submitOrder(View view) {
display(1);
}
/**
* This method displays the given quantity value on the screen.
*/
private void display(int number) {
TextView quantityTextView = (TextView) findViewById(R.id.quantity_text_view);
quantityTextView.setText("" + number);
}
}
该R
符号为红色并给出错误,当我添加时import android.R
,它会消失,但随后activity_main
变为quantity_text_view
红色,我再次看到错误!我应该怎么办?
注意:我已经定义了文本视图 id(我有三个文本视图,它们都有 id!)
解决方案
这是 Android 的一个常见错误。
如果发生这种情况,请尝试以下操作:
转到Build
顶部的菜单,然后在下拉菜单中选择Clean Project
。完成后做同样的事情,但不是单击Clean Project
,而是单击Rebuild Project
。
如果这不能解决错误,请按照 Raju 在评论中的建议尝试以下操作:
尝试与文件系统同步Gradle
和/或与文件系统同步。这可以File Settings
在 Android Studio 的菜单栏下找到。如果这无法解决问题,请尝试该Invalidate Caches / Restart
选项。
最后,如果这不起作用,请尝试删除并重新创建您的 ptoject。
推荐阅读
- typescript - IONIC 3 Recording Audio 在第二次录音后不工作
- ios - willPresentNotification 未在 FCM 通知中调用
- node.js - 引导程序“npm 运行”错误
- go - 将预先存在的数据列表导入 Terraform
- python - Python 线程挂起
- google-cloud-dataproc - 带有 REST api 或 Java API 的 dataproc 自定义图像
- java - 将数字序列保存到数组中
- sql - 在 LINQ 中使用 SQL 通配符
- node.js - 未处理的拒绝错误:不支持 Content-Type 标头 []
- oracle - Oracle SQL Developer 脚本输出不显示可读格式