Android Seekbar

1

Я использую seekbar в android. Я сделал массив в string.xml Я хочу, чтобы при перемещении строки поиска значение массива должно было быть напечатано в текстовом режиме, пока я перемещаю строку поиска, значение для текстового вида shoul должно быть изменено.

Вот мой код -

Файл Java

public class SliderActivity extends Activity 
{
    SeekBar seekbar;
    TextView txt1,txt2;
    String item[];
    int count=0;
    File file;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.main);
        item=getResources().getStringArray(R.array.myArray);
        seekbar=(SeekBar)findViewById(R.id.seekBar1);
        txt1=(TextView)findViewById(R.id.textView1);
        txt2=(TextView)findViewById(R.id.textView2);
        seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
        {
            public void onStopTrackingTouch(SeekBar bar)
            {
                txt2.setText("seekbar has been stop");
            }
            public void onStartTrackingTouch(SeekBar bar)
            {
                txt2.setText("seekbar has started");
            }
            public void onProgressChanged(SeekBar bar,int paramInt, boolean paramBoolean)
            {
                txt1.setText("");
            }
        });
    }
}
  • 0
    сколько предметов у вас в массиве
Теги:
seekbar

2 ответа

2

Учитывая, что у вас есть пять элементов в вашем массиве, сделайте что-нибудь подобное.

seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

    public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {
        if (progress <= 20) {


            speed.setText("your Text");
        } else if (progress >= 21 && progress <= 40) {

            speed.setText("your Text");
        } else if (progress >= 41 && progress <= 60) {

            speed.setText("your Text");
        } else if (progress >= 61 && progress <= 80) {

            speed.setText("your Text");
        } else if (progress >= 81 && progress <= 100) {
            speed.setText("your Text");
        }
    }

    public void onStartTrackingTouch(SeekBar arg0) {
        // TODO Auto-generated method stub

    }

    public void onStopTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub

    }

});
  • 0
    если я буду рассматривать 50 элементов вместо 5, то что мне делать.
  • 0
    Просто разделите процент прогресса на два. Затем округлите значение. установить значение массива на основе округленного значения
0

Вы можете использовать seekBar.setMax(max) где max is = to no элемента в массиве

и paramInt чтобы получить элемент из массива

Ещё вопросы

Сообщество Overcoder
Наверх
Меню