Java Android初学者:启用按钮

Java Android初学者:启用按钮,java,android,eclipse,android-layout,android-intent,Java,Android,Eclipse,Android Layout,Android Intent,我正在创建一个应用程序,上面有两个导航栏:“上一个”和“下一个”。我正试图使它,使按钮成为禁用的第一页和最后一页分别。我不知道为什么这个代码不起作用。“上一步”按钮变为禁用,但“下一步”按钮未变为启用(false) 这是我的密码: previous =(Button)findViewById(R.id.button_previous); next = (Button)findViewById(R.id.button_next); previous.setO

我正在创建一个应用程序,上面有两个导航栏:“上一个”和“下一个”。我正试图使它,使按钮成为禁用的第一页和最后一页分别。我不知道为什么这个代码不起作用。“上一步”按钮变为禁用,但“下一步”按钮未变为启用(false)

这是我的密码:

previous =(Button)findViewById(R.id.button_previous);
        next = (Button)findViewById(R.id.button_next);
            previous.setOnClickListener(this);
            next.setOnClickListener(this);

        spinner = (Spinner)findViewById(R.id.spinner);
        heading = (TextView)findViewById(R.id.textNavigationHeading);
        text = (TextView)findViewById(R.id.textNavigationText); 



        Bundle ext = getIntent().getExtras();
        this.list = ext.getInt("list");
        this.page = ext.getInt("page");

        if(list == 0){
            itemsHeading = campaignHeadings;
            MAX_PAGES = campaignHeadings.length;
        }

        if(list == 1){
            itemsHeading = specopsHeadings;
            MAX_PAGES = specopsHeadings.length;
        }

        setContent();       
    }

    private void setContent() {
        heading.setText(itemsHeading[page]);
        text.setText("Blah blah blah");     
        checkButtons(page);
    }

    private void checkButtons(int page) {
        if(page == 0)
            previous.setEnabled(false);
        if(page != MAX_PAGES)
            next.setEnabled(true);
    }

    private void resetButtons(int page){
        previous.setEnabled(true);
        next.setEnabled(false);
        checkButtons(page);
    }

    public void onClick(View v) {

        switch(v.getId()){
        case R.id.button_next:
            page += 1;
            break;
        case R.id.button_previous:
            page -= 1;
            break;
        }
        setContent();
        resetButtons(page);

    }

感谢您的帮助

启用和禁用按钮的代码如下:

private void checkButtons(int page) {
    if(page == 0)
        previous.setEnabled(false);
    if(page != MAX_PAGES)
        next.setEnabled(true);
}

private void resetButtons(int page) {
    previous.setEnabled(true);
    next.setEnabled(false);
    checkButtons(page);
}
您有两种不同的方法,有时调用一种,有时调用另一种。将其设为一个方法,如下所示:

private void enableOrDisableButtons(int page) {
    previous.setEnabled(page != 0);
    next.setEnabled(page != (MAX_PAGES - 1));
}
另外,请注意
MAX_PAGES
是列表的长度,索引从
0
length-1
不等。因此,当页面为
MAX\u PAGES-1
时,需要禁用“下一步”按钮