【问题标题】:Android : ViewPager OnClickListener NullPointerExceptionAndroid:ViewPager OnClickListener NullPointerException
【发布时间】:2016-01-01 09:22:30
【问题描述】:
所以每当我点击页面时,我都会尝试做一些事情。
我做了我所知道的一切,实现了 View.OnClickListener 和 viewPager.setOnClickListener(this) ,但我得到的只是应用程序崩溃,我在 logcat 中得到 NullPointerException ,我猜是因为我做了 button.setOnClickListener(this) ;它引起了问题?。
或者可能是因为我必须实现 ViewPager.OnClickListener,但是 IDE 给了我与 View.OnClickListener 重复类的错误,我不想删除它,因为我需要它作为按钮。
我是错还是对?如果错了是什么问题,我应该如何解决?
【问题讨论】:
标签:
java
android
nullpointerexception
android-viewpager
onclicklistener
【解决方案1】:
In your adapter where you return view object or any other view object like image view or button in onInstanciated method use
view.setonClickListner(new Listener(position));
class Listener implements OnClickListener {
private int position;
Listener(int position) {
this.position = position;
this.imageView = imageView;
this.data = data;
}
@SuppressLint("UseValueOf")
@Override
public void onClick(View v) {
posSize = position;
Toast.makeText(getApplicationContext(), "" + posSize,
Toast.LENGTH_SHORT).show();
}
}
【解决方案2】:
明确声明您的目标接口,例如
android.view.View.OnClickListener
一个好的解决方案可能是添加,
android:onClick="buttonClicked" 用于 xml 内的 Button,android:onClick="viewPagerClicked" 用于 xml 内的 ViewPager。
这些导致方法调用各自的视图,
public void buttonClicked(View button) {
}
public void viewPagerClicked(View pager) {
}