基本上,我在viewpager的第1页上有三个按钮。我想选择其中之一并将其值放入我的数据库。但是当我单击任何按钮时,它向我显示错误:
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ void android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)” 在com.example.itsandpro.Signup.PreferenceActivity.onCreate(PreferenceActivity.java:88) 在android.app.Activity.performCreate(Activity.java:6679) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
我在viewpager上的按钮代码是:
myViewPagerAdapter =新的MyViewPagerAdapter(); viewPager.setAdapter(myViewPagerAdapter);
weightloss=findViewById(R.id.reduceweight);
maintainweight=findViewById(R.id.controlthecalories);
gainweight=findViewById(R.id.goodphysique);
weightloss.setOnClickListener(new View.OnClickListener() {
@SuppressLint("ShowToast")
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"it worked",Toast.LENGTH_LONG);
}
});
我需要选择按钮,但我无法做到这一点。
答案 0 :(得分:0)
根据CUDA_VERSION
,您在“活动”中设置了OnClickListener,这在粘贴的代码中并不明显。
使用ViewPager时,也使用了片段。
活动
ViewPager
如果要添加片段1(reference at com.example.itsandpro.Signup.PreferenceActivity.onCreate(PreferenceActivity.java:88)
)上的按钮的点击监听器,则必须在片段中而不是在活动中注册点击监听器。 >因为您的活动的布局不包含此按钮。
如果我错了,请用您的活动代码,活动布局以及第一个片段加上viewpager的代码来更新您的问题。