2015-05-20 2 views
0

Как перенести фокус элемента списка вниз, когда мы нажали кнопку уменьшения громкости на Android-телефоне. Протестировал этот код, но не смог сфокусироваться любая помощь по этому или любому другому альтернативному подходу к селектору. Спасибо заранее.Как перемещаться по селектору в виде списка при нажатии кнопки уменьшения громкости в android

super.onCreate(savedInstanceState); 
    // 2. create array adapter 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, // standard row layout 
                // provided by android 
      listItemArray); 
    // 3. Call setListAdapter 
    setListAdapter(adapter); 
    listView = getListView(); 
    listView.setOnKeyListener(new OnKeyListener() { 

     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      // TODO Auto-generated method stub 

      switch (keyCode) { 
      case KeyEvent.KEYCODE_VOLUME_DOWN: 

       ListView list =(ListView)v; 
       for (int j=0; j < list.getChildCount(); j++){ 
        if(list.getChildAt(j).getBackground().equals(R.color.gray)){ 
        list.getChildAt(j).setBackgroundResource(R.color.TRANSPARENT); 
        list.getChildAt(j++).setBackgroundResource(R.color.gray); 
        }else 
         list.getChildAt(0).setBackgroundResource(R.color.gray); 
       } 
            break; 
      }   

      return false; 
     } 
    }); 

ответ

0

я с трудом могу себе представить, как бы onKeyListener на ListView обнаружения громкости нажмите клавишу. Попробуйте вместо dispatchKeyEvent() ввести Activity:

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    switch (event.getKeyCode()) { 
     case KeyEvent.KEYCODE_VOLUME_UP: 
      Toast.makeText(this, "volume up", Toast.LENGTH_SHORT).show(); 
      return true; 
     case KeyEvent.KEYCODE_VOLUME_DOWN: 
      Toast.makeText(this, "volume down", Toast.LENGTH_SHORT).show(); 
      return true; 
     default: 
      return super.dispatchKeyEvent(event); 
    } 
} 
Смежные вопросы