[android]R.class里有ID,onCreate方法里调用findViewById返回空
2024-09-07 06:15:14
在做android练习,一个新手错误,记录一下:
在练习android权威编程指南时,第5章 第二个Activity部分练习,出现标题问题,代码还原如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mQuestionTitle = (TextView)findViewById(R.id.question_title);
mQuestionAnswer = (TextView)findViewById(R.id.answer_text_view);
mShowAnswer = (Button)findViewById(R.id.show_answer_button);
setContentView(R.layout.activity_cheat);
String mAnswerIsTrue = getIntent().getStringExtra(EXTRA_ANSWER);
if(mAnswerIsTrue != null && mAnswerIsTrue.equals("")==false){
mCheatQuestion = GSON.fromJson(mAnswerIsTrue,Question.class);
mQuestionAnswer.setText(mCheatQuestion.getTextResId());
}else{
mQuestionTitle.setText(R.string.cheat_activity_error);
mQuestionAnswer.setText(R.string.cheat_activity_error);
}
错误原因是没有设置ContentView就获取对象了,要把findViewById置于setContentView函数下面:
setContentView(R.layout.activity_cheat); mQuestionTitle = (TextView)findViewById(R.id.question_title);
mQuestionAnswer = (TextView)findViewById(R.id.answer_text_view);
mShowAnswer = (Button)findViewById(R.id.show_answer_button);
最新文章
- java中的小数的取整的几种函数
- C#~异步编程再续~大叔所理解的并行编程(Task&;Parallel)
- Oracle 添加第二个实例 和 监听
- USACO Sorting a Three-Valued Sequence
- CentOS7 基础配置
- 解决Eclipse引用项目后乱码问题
- 5.1JavaScript精华
- 互联网 DBA 需要做那些事(转)
- iOS开发——实用篇&;KVO与KVC详解
- ModelSim仿真
- JavaScript - 运算符 == 与 === 的区别
- js-Array
- X - A == B ?(第二季水)
- Java中try-catch-finally的一点理解
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
- Python开发【框架篇】Django的Form组件
- (二)flask-sqlalchemy基本操作
- Python全栈问答小技巧_2
- ms sql server读取xml文件存储过程-sp_xml_preparedocument
- Vue 介绍
热门文章
- Jmeter之压力测试总结
- npm镜像源
- chap1-HttpRequest测试类
- Nginx笔记总结八:ngx_http_core_module模块中的变量
- 读书笔记之 数字图像处理的MATLAB实现(第2版)
- RROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2
- python 堡垒机讲解及实例
- SCSS 与 Sass 异同
- 月薪20k+的测试工程师都会这项技能!
- Mac 安装Android Studio 及环境变量配置