В основном у меня есть три кнопки на странице 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)
и мой код для кнопки на странице просмотра:
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);
}
});
мне нужно нажать кнопку, но я не могу этого сделать.
Согласно reference at com.example.itsandpro.Signup.PreferenceActivity.onCreate(PreferenceActivity.java:88), вы устанавливаете свой OnClickListener в своей деятельности, что не заметно в вставленном вами коде.
Когда вы используете ViewPager, вы также используете фрагменты.
Мероприятия
ViewPager
Если вы хотите добавить прослушиватель щелчков кнопки, которая находится на фрагменте 1 (Basically i have three buttons on viewpager's page 1), вам нужно зарегистрируйте прослушиватель кликов в своем фрагменте, а не в вашей Activity потому что макет вашей активности не содержит этих кнопок.
Если я ошибаюсь, обновите свой вопрос, указав код вашей активности, макет вашей активности и код вашего первого фрагмента плюс окно просмотра.