当我使用pageviewer时,Android Activity Button不起作用

时间:2016-09-30 06:56:05

标签: android

您好我对Android Activity有疑问。

  

显示java.lang.NullPointerException:    尝试调用虚方法   'void android.widget.Button.setOnClickListener   (android.view.View $ OnClickListener)”   在空对象引用上

我想做的是欢迎页面。

我有一个名为

的Main_welcome页面

Activity_main。 三页布局为 welcome_layout1 welcome_layout2 welcome_layout3。

我只有一个活动如下:

    public class MainActivity extends AppCompatActivity {
    private ViewPager myViewPager;

    private View page1,page2,page3;

    private List<View> pageList;
    Button sign;
    private MypageAdapter mypageAdapter;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        Button sign = (Button)this.findViewById(R.id.button_gotosign);
        sign.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setContentView(R.layout.sign);
            }
        });
    }
    private void initView (){
        myViewPager = (ViewPager) findViewById(R.id.welcome_viewpager);
        LayoutInflater inflater = getLayoutInflater();
        page1 = inflater.inflate(R.layout.welcome_layout1, null);
        page2 = inflater.inflate(R.layout.welcome_layout2, null);
        page3 = inflater.inflate(R.layout.welcome_layout3, null);
        pageList = new ArrayList();
        pageList.add(page1);
        pageList.add(page2);
        pageList.add(page3);
        mypageAdapter = new MypageAdapter(pageList);
        myViewPager.setAdapter(mypageAdapter);


    }


}

我在 welcome_layout3

上有一个名为注册的按钮
 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/b3"
    >


    <Button
        android:id="@+id/button_gotosign"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="sign"
        android:textSize="@dimen/activity_vertical_margin"
        android:textColor="#318C83"
        android:background="#90000000"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="34dp">
    </Button>


</RelativeLayout>

我想要做的是,当用户打开这个APP时,他会将3张图片滚动到最后一张,并且有一个按钮可以点击进行签名。

如何让按钮工作?

1 个答案:

答案 0 :(得分:0)

您当前的内容视图是activity_main,您正在访问welcome_layout3中的按钮标记。这是你的问题。尝试研究如何使用此链接https://developer.android.com/training/animation/screen-slide.html中的viewpager并实现。