2012-05-22 2 views
1

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

Вот мой код -

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

сколько у вас предметов в массиве –

ответ

0

Вы можете использовать seekBar.setMax(max) где Макс = к не пункта в массиве

и paramInt, чтобы получить элемент из array

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, то что мне делать. – sachit

+0

Простой разделите прогресс на два. Затем округлите значение. установить значение массива на основе округленного значения –