当前位置: 首页 > 知识库问答 >
问题:

在创建之外的MediaPlayer定义抛出NullpointerException?

潘哲
2023-03-14

我需要我的MediaPlayer对象作为类变量可见,而不是本地创建。

但是当我试图这样开始的时候-

public class TextAct extends AppCompatActivity
{

    MediaPlayer wavesMp =  MediaPlayer.create(this, R.raw.river);//Line 132
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
    .
    .
    }

这也以同样的错误失败-

public class TextAct extends AppCompatActivity
{

    MediaPlayer wavesMp; //Line 132
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
     wavesMp=  MediaPlayer.create(this, R.raw.river);
    .
    }

Logcat说-

进程:com。附录24.gg。relaaax,PID:24202 java。lang.RuntimeException:无法实例化活动

共有1个答案

阳勇
2023-03-14

MediaPlayer需要上下文。如果未调用onCreate方法,则未准备活动,并且无法使用其上下文。

 类似资料:
  • 问题内容: 我可以在类定义之外创建,甚至可以在另一个模块中创建吗? 问题答案: 是。您可以在类外部定义函数,然后在类主体中将其用作方法: 您也可以在定义一个函数后将其添加到类中: 您可以根据需要在不同的模块中定义函数和类,但是我建议不要在一个模块中定义该类,然后再将其导入另一个模块中并向其中动态添加方法(如第二个示例),因为那样的话d根据是否已导入另一个模块,其行为与类具有令人惊讶的不同。 我要指

  • 我在Play商店中看到某些应用程序不像正常活动那样全屏。他们占据了一部分屏幕。我试图寻找解决方案,但由于我是新手,我不知道用于此类活动的确切单词。我如何创建此类活动?问候

  • 我的问题是这样的:我想创建一个非常简单的应用程序,当我按下按钮时,它会播放一首歌。 当我运行应用程序并按下“声音”按钮时,它会显示“错误”(因为我检查了是否为空) 所以,我想这意味着我创建的MediaPLayer为空。我检查了logcat,它显示了以下内容: 我想这意味着创建失败了,因为准备失败了,但为什么呢?我已经在这个网站上搜索了这个问题,找到了100个不同的案例,但没有一个解决方案对我有效。

  • 我在MySQL中创建了以下三个表的基本模式,其中一个表有两个外键(documentreference表): 但是,我在运行时遇到以下错误: 错误1215:无法添加外键约束 SQL语句: 如果不存在,则创建表( int(5)非空自动增量, varchar(50), varchar(50), JSON,--single codableconcept数据类型 JSON,--创建的单个CodeableCo

  • 我是一名Java编程新手(实际上已经在学习),我对如何处理不同的消息有些怀疑。 我的目标是将这些不同的消息包含在同一个类(CustomExcpse类)中,以避免在从其他类抛出新CustomExceptions的每个方法上一遍又一遍地编写相同的字符串。 到目前为止,我编码: > 一个自定义异常类,它从异常扩展而来,具有不同的消息(在示例中只有两个,但还有更多)作为Strings包含,当然还有构造函数

  • 我有一个方法来发送一些,并获得响应: 这很有效。然而,为了使超时时间可定制,我在本教程中提供了以下: 因此,类将调用restTemplate,如下所示: 但不幸的是,在构建应用程序时返回以下错误: 仅供参考,错误远不止上面显示的。 第一行是这样的: