Как я могу использовать кнопки или любой пользовательский вид ввода на ViewPager? - PullRequest
0 голосов
/ 19 ноября 2018

В основном у меня есть три кнопки на странице 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 = new 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);
        }
    });

Мне нужно выбрать кнопку, но я не могу этого сделать.

1 Ответ

0 голосов
/ 19 ноября 2018

Согласно reference at com.example.itsandpro.Signup.PreferenceActivity.onCreate(PreferenceActivity.java:88) вы устанавливаете свой OnClickListener в своей активности, который не заметен в вставленном коде.

Когда вы используете ViewPager, вы также используете фрагменты.

Активность

  • ViewPager

    • Фрагмент 1
    • Фрагмент 2
    • Фрагмент 3

Если вы хотите добавить прослушиватель щелчка для кнопки, находящейся во Фрагменте 1 (Basically i have three buttons on viewpager's page 1), вам необходимо зарегистрировать прослушиватель щелчков в своем Фрагменте , а не в своей Деятельности , поскольку макет вашей деятельности не содержит этих кнопок.

Если я ошибаюсь, обновите ваш вопрос, указав код своей деятельности, схему своей деятельности и код вашего первого фрагмента, а также видоискатель.

...