MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback

本文记录了一次解决Android应用中空指针异常的过程,通过调整类的定义方式,将适配器类改为活动类的内部类,成功解决了由于传递值不当导致的空指针异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到下面异常:

E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
	   at com.fa.activity.MyCeleActivity.showViewPager(MyCeleActivity.java:104)
	   at com.fa.MyCameraAdapter$2.onClick(MyCameraAdapter.java:113)
	   at android.view.View.performClick(View.java:5647)
	   at com.faceall.imageclassify.widgets.FilterImageView.onTouchEvent(FilterImageView.java:35)
	   at android.view.View.dispatchTouchEvent(View.java:10036)
	   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2634)
异常指向MyCeleActivity中的showViewPager()方法,报viewPager为空指针。调用showViewPager()的是MyCameraAdapter里getView里的方法。MyCameraAdapter是一个单独的类。MyCameraAdapter调用showViewPager()的代码如下:

private MyCeleActivity activity = new MyCeleActivity();

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
	ViewHolder viewHolder;
	if(convertView==null) {
		viewHolder = new ViewHolder();
		convertView=LayoutInflater.from(context).inflate(R.layout.grid_list_item,null);
		viewHolder.imageView= (ImageView) convertView.findViewById(R.id.imageView);
		convertView.setTag(viewHolder);
	} else {
		viewHolder= (ViewHolder) convertView.getTag();
	}
	localFile=pathList.get(position);
	Glide.with(context)
			.load(localFile.getOriginalUri())
			.crossFade()
			.placeholder(R.drawable.detailpic_no)
			.error(R.drawable.error)
			.thumbnail(0.1f)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.into(viewHolder.imageView);
	viewHolder.imageView.setOnClickListener(new View.OnClickListener() {
		@Override
		public void onClick(View v) {
			if(position==0) {
				ActivityHelper.jumpNoFinish(activity, MyCameraActivity.class);
			} else {
				activity.showViewPager(position);//调用的MyCeleActivity里的方法
				activity.getImgUriStr(position);//所选图片的uri,调用的MyCeleActivity里的方法
			}
		}
	});
	return convertView;
}
private class ViewHolder {
	ImageView imageView;
}
应该是传值出了问题。后来把MyCameraAdapter作为MyCeleActivity的内部类写在了MyCeleActivity里,传值没问题了,问题解决。




java.lang.Throwable: Unlocked access to synchronized WindowContainer at com.android.server.wm.WindowManagerServiceExtImpl.unlockedAccessToWindowContainer(WindowManagerServiceExtImpl.java:1313) at com.android.server.wm.WindowManagerServiceExtImpl.checkWindowContainerPreconditions(WindowManagerServiceExtImpl.java:1292) at com.android.server.wm.WindowContainer.checkPreconditions(WindowContainer.java:875) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:2373) at com.android.server.wm.DisplayArea.forAllRootTasks(DisplayArea.java:476) at com.android.server.wm.FlexibleTaskController.findTopFlexibleTask(FlexibleTaskController.java:8515) at com.android.server.wm.FlexibleTaskController.getTopZoomTask(FlexibleTaskController.java:8427) at com.android.server.wm.FlexibleWindowManagerService.isInFlexibleWindowHandleRegion(FlexibleWindowManagerService.java:9638) at com.android.server.wm.OplusSplitScreenManagerService.inFlexibleWindowHandleRegion(OplusSplitScreenManagerService.java:3368) at com.android.server.wm.OplusSplitScreenManagerService.inSplitHandleRegion(OplusSplitScreenManagerService.java:3348) at com.android.server.wm.SystemGesturesPointerEventListenerExtImpl.inSplitHandleRegion(SystemGesturesPointerEventListenerExtImpl.java:225) at com.android.server.wm.SystemGesturesPointerEventListener.onPointerEvent(SystemGesturesPointerEventListener.java:266) at com.android.server.wm.PointerEventDispatcher.onInputEvent(PointerEventDispatcher.java:69) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:321) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.nextConcurrent(MessageQueue.java:856) at android.os.MessageQueue.next(MessageQueue.java:1047) at android.os.Looper.loopOnce(Looper.java:221) at android.os.Looper.loop(Looper.java:408) at android.os.HandlerThread.run(HandlerThread.java:85) at com.android.server.ServiceThread.run(ServiceThread.java:49) at com.android.server.UiThread.run(UiThread.java:65)
最新发布
08-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值