我是Android新手,我遇到这个问题,当我从静态内部类调用非静态方法时,我有nullPointerException,下面是我的代码.
public voID playPauseMusic() { // check for already playing if (mp.isPlaying()) { if (mp != null) { mp.pause(); // Changing button image to play button btnPlay.setimageResource(R.drawable.btn_play); } } else { // Resume surah if (mp != null) { mp.start(); // Changing button image to pause button btnPlay.setimageResource(R.drawable.btn_pause); } }}public static class notifyPlayPauseListner extends broadcastReceiver { @OverrIDe public voID onReceive(Context context, Intent intent) { Log.i("PLAY/Pause Tag","In the Listener Play/Pause "); MainActivity mc = new MainActivity(); mc.playPauseMusic(); }}
可能是一个简单的概念,但我是AndroID的新手,这就是为什么要问.请帮助
解决方法:
MainActivity mc = new MainActivity();
实例化新活动没有任何意义.相反,您需要找到MainActivity的现有实例并调用它所需的方法.
此外,使用活动来播放音乐并不是一个好主意.考虑使用service.
总结以上是内存溢出为你收集整理的java – 从静态内部类调用非静态方法全部内容,希望文章能够帮你解决java – 从静态内部类调用非静态方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)