如何在Viewpager上使用按钮或任何用户输入视图?

时间:2018-11-19 08:32:27

标签: android android-studio android-viewpager

基本上,我在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);
        }
    });

我需要选择按钮,但我无法做到这一点。

1 个答案:

答案 0 :(得分:0)

根据CUDA_VERSION,您在“活动”中设置了OnClickListener,这在粘贴的代码中并不明显。

使用ViewPager时,也使用了片段。

活动

  • ViewPager

    • 片段1
    • 片段2
    • 片段3

如果要添加片段1(reference at com.example.itsandpro.Signup.PreferenceActivity.onCreate(PreferenceActivity.java:88))上的按钮的点击监听器,则必须在片段中而不是在活动中注册点击监听器。 >因为您的活动的布局不包含此按钮。

如果我错了,请用您的活动代码,活动布局以及第一个片段加上viewpager的代码来更新您的问题。