java - onCreate 方法之外的 findViewById 方法?
问题描述
最近,我在做一个非常小的培训项目。但是我的代码中有一个错误:
public class MainActivity extends AppCompatActivity {
TextView textView = (TextView) findViewById(R.id.textview);
@override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView.setText("Welcome");
}
}
但是当我尝试剪切 textview 全局变量并将其粘贴到 onCreate 方法中时,错误消失了。尽管我已经在全局变量中膨胀了 textView,但为什么会出现此错误?!
解决方案
这就是你想要的:
public class MainActivity extends AppCompatActivity {
TextView textView;
@override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
textView.setText("Welcome");
}
}
推荐阅读
- android - 膨胀视图在 MVVM 设计模式中是如何工作的?
- javascript - javascript:拖动路径元素使其不可用
- javascript - Google 自定义搜索引擎标记的 Gatsby 错误
- xquery - xquery 属性等于带有空格的 id
- python - 将项目拆分为模块的 Pythonic 方式?
- android - 如何通过将项目添加到微调器中来对项目进行排序?
- swift - 如何制作正确过滤本地字符的 NSPredicate?
- ruby-on-rails - 使用 Facebook(rails)登录时发生无法加载 URL 错误
- python - 使用django和vue时,api响应为空
- c++ - 指向指向输出错误值的数组的指针?