0
爲了提高盲人用戶的可用性,我需要帶有OnItemSelected方法的ListActivity,以便在選擇特定的listitem時添加振動或聲音等內容。 因此,我已經擴展了ListActivity類,並增加了以下方法:具有可選項目的ListActivity
protected void onListItemSelected(ListView parent, View v, int position, long id) {
}
private AdapterView.OnItemSelectedListener mOnSelectedListener = new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
onListItemSelected((ListView)parent, v, position, id);
}
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
};
現在,當我創建我的新類SelectableListActivity的實例並重寫onListItemSelected方法,仍然沒有任何反應。有任何想法嗎?提前謝謝了!
新Android開發人員常見的問題是依賴於ListView.getSelectedItemPosition()。在觸摸模式下,此方法將返回INVALID_POSITION。您應該改爲使用點擊偵聽器(請參閱setOnItemClickListener(android.widget.AdapterView.OnItemClickListener))或選擇模式(請參閱setChoiceMode(int))。 http://developer.android.com/resources/articles/touch-mode.html – jsaye 2012-02-16 15:27:04
在這種特殊情況下,我需要一個監聽器來進行選擇,因爲視圖是通過物理鍵來操作的,我需要給出某種形式的通過點擊選擇項目之前的反饋。 – 2012-02-16 15:30:14
您的列表項目的內容是什麼?某些控件(如複選框)將攔截onClick。 – jsmith 2012-02-16 15:34:49