如何在按钮单击时从微调器获取下一个/上一个项目?

时间:2015-04-17 10:15:32

标签: android

我试图实现看起来像这样的东西。

enter image description here

微调器包含我使用数组适配器填充的项目列表。

按下按钮我想根据点击的按钮将微调器的所选项目更改为下一个/上一个项目。有可能吗?我正在使用微调器,因为我要填充上面的ListView,具体取决于微调器中选择的项目。

为此,我可以使用除微调器和按钮以外的其他东西吗?

问候。

2 个答案:

答案 0 :(得分:5)

使用:

pirvate Spinner mySpinner;
private int ItemPosition;
private Button ButtonNext;
private Button ButtonPrevious;

onResume()

ItemPosition = mySpinner.getSelectedItemPosition();

和你的按钮:

ButtonNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mySpinner.setSelection(mySpinner.getItemAtPosition(ItemPosition++));
    }
});

ButtonPrevious.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mySpinner.setSelection(mySpinner.getItemAtPosition(ItemPosition--));
    }
});

答案 1 :(得分:2)

你可以做的是获取当前项目在微调器中显示的位置

然后在后退按钮的onclick事件中 这个检查很重要,如果微调器显示元素为零,你按回按钮然后poition将为-1;并将给予例外。

 forward_Button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            int position = mySpn.getSelectedItemPosition();
            if(position>0){
            position=position-1;
            mySpn.setSelection(position);

      }


        }
    });
 }

并在前进按钮的onclick事件中

如果检查是重要的,如果你的位置大于你在旋转器中显示的arraylist的大小,那么它也会给出例外。

previous_Button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

                 int position = mySpn.getSelectedItemPosition();
                 if(position<your_list.size()){
                 position=position+1;
                 mySpn.setSelection(position);

             }

        }
    });
}