如果不在style里面添加 parent="@android:style/Theme.Dialog" 会报错!
错误是java.lang.IllegalStateException: ActionBarImpl can only be used with a compatible window decor layout
错误是java.lang.IllegalStateException: ActionBarImpl can only be used with a compatible window decor layout
2015-05-28
已采纳回答 / hyman
自定义控件如果你通过布局文件使用,调用的是两个参数的构造方法;如果自己new XXXView(context);一般调用的是一个参数的方法;并且和onTouchEvent没什么关系,你的描述可以去检查下你的onTouchEvent的Action_DOWN的分支返回值是不是true。
2015-05-28
最赞回答 / 嗷嗷飞
找到原因了,老师的代码并没有去处理这个异常if (isPrepared) { try { //maxLevel*mMediaRecorder.getMaxAmplitude() 1~32767 return maxLevel * mMediaRecorder.getMaxAmplitude() / 32768 + 1; } catch (Exception e) { }}return 1;
2015-05-27
最好应该是用mHndler.post(mGetVoiceLevelRunnable)来执行,然后在录音结束时再remove掉应该会比较好。
2015-05-24
在AudioRecorderButton里面mHandler的MSG_AUDIO_PREPARED处理上,是直接new出的一个线程,在录音停止时也没有remove掉这个线程,所以我在真机上测试时,按下按钮松开后会报错,因为那个线程没有被关闭而还去执行了AudioManager的getVoiceLevel()方法,而此时getVoiceLevel()方法里面的mMediaRecorder是为null的,所以报了空指针异常。目前我的一个粗暴解决办法是直接在getVoiceLevel()方法里的if里去判断下mMediaRecorder != null。
2015-05-24
@linshiyx 应该是不需要停止了,因为在MediaManager里面已经做了mMediaPlayer是否为null的判断,如果不为null,说明还在播放前面的音频,在播放本次点击的音频时进行了reset()操作
2015-05-24