zoukankan      html  css  js  c++  java
  • [android]R.class里有ID,onCreate方法里调用findViewById返回空

    在做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);
            

     

  • 相关阅读:
    Hadoop书籍介绍
    WeakReference,SoftReference 和 PhatomReference 浅析
    如何在Java中定义常量(Constant)
    也谈谈Java的垃圾收集(garbage collection)
    csdn的新家
    安装和使用Oracle Instant Client 和 SQLPlus
    Perl中的grep和map
    用Devel::NYTProf 优化perl脚本性能
    DataBase
    Linux下配置listener和tns
  • 原文地址:https://www.cnblogs.com/aocshallo1/p/12256343.html
Copyright © 2011-2022 走看看