当前位置: 首页 > 面试题库 >

错误:无法从静态上下文中引用非静态方法'findViewById(int)'

王航
2023-03-14
问题内容

我正在使用Android Studio(测试版),并且在“ onCreateView()”中使用此Java代码时,出现错误。

ListView listView = (ListView) findViewById(R.id.someListView);

这是错误:

Non-static method 'findViewById(int)' cannot be referenced from a static context

我该如何解决?


问题答案:

假设您在活动中有一个静态片段内部类:您正在尝试调用活动的活动findViewById(),而该活动不能在不包含对父级引用的静态内部类中调用。

在其中,onCreateView()您需要在刚膨胀的根视图上调用它,例如

 ListView listView = (ListView) rootView.findViewById(R.id.someListView);


 类似资料:
  • 我正在编写此代码,它显示了错误非静态方法googleapiability . isgoogleplayservicesavailable(上下文上下文)和googleapiability . get error dialog(Activity Activity,int errorCode,int requestCode)不能从静态上下文中引用。

  • 问题内容: 我对Java和一般编程非常陌生。我为一个基本程序编写了此代码,以将用户输入的2个数字相加,并将它们加起来并显示在输出框中,但是我得到了,但是我不知道什么是静态的 给出错误的行: 抱歉,如果我非常不称职,但我搜索了一下,但我真不明白该如何解决。谢谢。 问题答案: 在静态上下文中,您没有对象(类的实例),但是实例变量和方法取决于它们。 您有一个名为output1的实例,但是您尝试通过类的名

  • 我正在尝试编写一段代码,当我选中两个复选框中的一个复选框时,它将更改我选择按钮时显示的消息。 我收到的错误消息是: "FirstWindow.java:12:错误:不能从静态上下文消息中引用非静态变量消息="good job\n";" 对于第12、37、53、57行。我已尝试在main中声明字符串变量,但我只会收到错误: “FirstWindow。java:38:错误:从内部类引用的局部变量必须是

  • 问题内容: 我想一劳永逸地理解这一点。 为此,请原谅下面粘贴的大量代码,但是我不想遗漏任何细节。 我唯一更改的是加载的URL。但这不会导致错误。 我想将我的函数称为“ readPosiitons ”。简单的解决方案,使其静态。真正的解决方案,我不确定。 请帮助我更好地了解如何以正确的方式解决此错误。 谢谢!! 问题答案: 真正的解决方案?不要在方法中放太多东西。那是给菜鸟的。 Java是一种面向对

  • 问题内容: 我正在玩http://www.concretepage.com/java/jdk-8/java-8-unaryoperator- binaryoperator- example中的 示例。 我真正感到困惑的是,当我在形成收集器时错误地将错误的类型放到一个泛型中时,java编译器给了我一个非常令人误解的信息: 无法从静态上下文引用非静态方法 我的错误与现实中的静态vs实例上下文无关: 我

  • 可能重复: 为什么我得到“非静态变量不能从静态上下文引用”? 这是代码 错误说: 不能从静态上下文引用非静态类节点 为什么我不应该在main()方法中引用Node类?