public class MainActivity extends AppCompatActivity {
TextView name_header;
//this results into an error
name_header = (TextView) findViewById(R.id.name_header);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_order);
//whereas, this works perfectly
name_header = (TextView) findViewById(R.id.name_header);
...
}
}
问题是,我试图使用findViewById()全局初始化TextView对象,但它在运行时抛出一个错误,然后,如果我在onCreate()或任何其他方法中使用它,初始化工作就会很好。
我正在为API级别22及以上开发
在setContentView(...)之前onCreate(...)中的函数已调用,则布局(-file)尚未膨胀/设置。所以现在还没有什么可以查id的。
正如Android文档所描述的:
公共T findViewById(int id)
查找由onCreate(Bundle)中处理的android:id XML属性标识的视图。
但是由于您已经“全局”声明了您的TextView,您可以在onCreate函数中初始化它,并在MainActivity的任何其他地方使用它,而不会有任何问题。
为什么这段代码中不允许函数?
问题内容: 我了解抽象类中的方法都可以是抽象的,也可以不是。但是,为什么不能在“普通”的非抽象类中创建抽象方法呢? 在此先感谢您的解释! 问题答案: 抽象 方法从根本上说,该方法没有实现,需要在 子类中 实现。但是,如果您在 非抽象 类中具有 抽象 方法,则可以实例化该类并获取一个对象,该对象将具有未实现的方法,您将无法调用该方法。 __
我试图在一个变量中保存得分为80分或80分以上的学生的姓名,但我无法使用filter进行保存,它返回整个对象,尽管我指定只打印这些对象的键值,即这些学生的姓名。 我的代码: 我怎样才能得到得分在80分以上的学生的名字?
问题内容: 作为Android新手开发人员,我遇到了一个奇怪的问题。我想创建一个类,该类可以使用其他方法以任何特殊方式使用其他类- 活动。为了简单起见,我们将记录一些东西。如果我在一个活动中进行跟踪(例如在OnClick侦听器中),则一切正常: 但是,当我尝试将其封装到某个类中并像这样创建单例时: 并从其他活动中调用它 NullPointerException(与openFileOutput一致)
我写了一个非常简单的代码(Hello World!)通过记事本,它编译得很好,但是当我累了运行它时,我收到一条消息说错误: 在类Test4中找不到Main方法,请将Main方法定义为:publicstaticvoidmain(String[]args)或JavaFX应用程序类必须扩展JavaFX.application.application。 当我使用NeatBeans时,可以,但是当使用CM提
问题内容: 从上一个私有方法春天在什么@Transactional属性的工作? 使用代理时,应仅将@Transactional注释应用于具有公共可见性的方法。如果使用@Transactional注释对受保护的,私有的或程序包可见的方法进行注释,则不会引发任何错误,但是带注释的方法不会显示已配置的事务设置。 我可以想到排除和方法的充分理由,但是为什么方法不能在事务上表现呢?以下堆栈跟踪显示了公共方法