Java Android初学者:启用按钮
我正在创建一个应用程序,上面有两个导航栏:“上一个”和“下一个”。我正试图使它,使按钮成为禁用的第一页和最后一页分别。我不知道为什么这个代码不起作用。“上一步”按钮变为禁用,但“下一步”按钮未变为启用(false) 这是我的密码: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
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
时,需要禁用“下一步”按钮