2011-08-26 25 views
1

我想擺脫Android Market過濾器android.hardware.touchscreen,以便允許在非觸摸屏設備上下載我的應用(僅限帶鍵盤導航的設備)。Android:如何允許在非觸摸屏設備上的ListView中導航?

有未觸摸屏沒有那麼多的設備,但也有一些...

我的應用可搭配鍵盤除了列表視圖......我希望用戶能夠在我的ListView導航只與鍵盤。也就是說,他必須能夠在listView =>中滾動,不同的單元格在滾動時必須連續突出顯示。

如何做到這一點?

謝謝!

+0

通常情況下,任何listview都可以使用up/down鍵。它只需要專注,所以首先檢查哪個組件獲得重點,並將其提供給您的列表 – njzk2

回答

2

也許你可以創建一個onKeyListener。它是這樣的:

private class myListKeyListener implements onKeyListener { 
    @Override 
    public boolean onKey(View arg0, int arg1, KeyEvent arg2) { 

     if (KeyEvent.ACTION_DOWN == arg2.getAction()) { 
      switch (arg1) { 
      case KeyEvent.KEYCODE_DPAD_UP: { 

        int i = list.getSelectedItemPosition(); 
        if (i > 0) 
         i--; 
        list.setSelection(i); 
        break;} 
} 

爲DOWN一樣的東西,左,右...你可以做你想做的與它

之後附加監聽到你在onCreate方法列表:

list.setOnKeyListner(new MyListKeyListener);

希望它可以幫助你;)

+0

完美!謝謝。 –

1

我的猜測是,您需要覆蓋onKeyDown事件並相應地更改爲列表視圖項目的焦點。

1

不是一個答案,只是阿里納斯

Android電子市場濾波器[...]的非觸摸屏設備

希望使用谷歌應用程序,包括Android市場必須符合 的Android兼容性定義文件(CDD)

Android裝置see herehere)。

從這個文檔(current release):

7.2.4。觸摸屏輸入

設備實現:

•必須有一個觸摸屏
•可以具有電容或電阻式觸摸屏

你肯定有不具有觸摸屏能設備進入Android Market(除了一些黑客)?

+0

感謝有關Google地圖的信息。您可能是對的:非觸摸屏手機可能無法訪問Android Market(http://www.uberphones。COM/2011/01 /摩托羅拉i886,Android系統的手機/)。謝謝 –