MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback

遇到下面异常:

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里,传值没问题了,问题解决。




你可能感兴趣的:(Android)