Android在ListView的onTouch事件中獲取選中項的值
在Android開發中經常使用ListView,最近使用ListView製作一個仿QQ的滑動刪除控制元件時遇到一個問題,就是使用ListView的onTouch事件無法獲取選中項的值,講過一番思考和在網上看的一些資料,想到一個解決辦法。
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO 自動生成的方法存根
int position = ((ListView)v).pointToPosition((int)event.getX(), (int)event.getY());
System.out.println(position);
return false;
}
});
使用函式pointToPosition,引數是觸控ListView的橫縱座標。pointToPosition的詳情可檢視原始碼。
/**
* Maps a point to a position in the list.
*
* @param x X in local coordinate
* @param y Y in local coordinate
* @return The position of the item which contains the specified point, or
* {@link #INVALID_POSITION} if the point does not intersect an item.
*/
public int pointToPosition(int x, int y) {
Rect frame = mTouchFrame;
if (frame == null) {
mTouchFrame = new Rect();
frame = mTouchFrame;
}
final int count = getChildCount();
for (int i = count - 1; i >= 0; i--) {
final View child = getChildAt(i);
if (child.getVisibility() == View.VISIBLE) {
child.getHitRect(frame);
if (frame.contains(x, y)) {
return mFirstPosition + i;
}
}
}
return INVALID_POSITION;
}
相關文章
- ListView新增事件並獲取選中項的值View事件
- listview 後天獲取選中項的值View
- android listview獲取選中項AndroidView
- 關於如何獲得ListView中選中項的值View
- C#如何獲取ListView控制元件選中項的值C#View控制元件
- Listview 取選中的值 C#ViewC#
- Android中ListView控制元件onItemClick事件中獲取listView傳遞的資料AndroidView控制元件事件
- Listview獲取選中行的值View
- Android ListView中獲取選中行資料的方法AndroidView
- android開發中如何動態獲取listview中的item的值AndroidView
- Android ListView中獲取修改選中行資料的方法AndroidView
- jquery獲取select下拉選中option項的value值jQuery
- 原生js如何獲取選中的select下拉項的值JS
- jQuery獲取選中核取方塊的值程式碼例項jQuery
- js獲取當前select下拉選單選中項的值JS
- 在js中獲取 input checkbox裡選中的多個值JS
- android如何獲取listview中的任意行資料AndroidView
- js獲取select選中項的值和文字內容JS
- 獲取選中checkbox核取方塊的值程式碼例項
- jquery如何獲取select下拉選單選中項的值和文字jQuery
- Android 中listview的全選、全不選、反選、獲得選中條目資料AndroidView
- javascript如何獲取當前選中的option項的文字和value值JavaScript
- js 獲取被選中核取方塊的值JS
- js取得gridview中獲取checkbox選中的值--單選JSView
- XamarinEssentials教程獲取首選項的值
- js獲取選中radio單選按鈕的值程式碼例項JS
- 使用layui框架的select獲取選中的值UI框架
- jQuery獲取選中的checkbox核取方塊的值jQuery
- JavaScript 獲取選中checkbox核取方塊的值JavaScript
- jquery獲取選中checkbox核取方塊的值jQuery
- js獲取選中checkbox核取方塊的值JS
- javascript獲取選中checkbox核取方塊的值JavaScript
- jQuery 利用萬用字元獲取多選框選中的值jQuery字元
- 獲取選中select下拉選單的value屬性值
- android中的ListViewAndroidView
- 獲取select下拉選單預設選中項的索引索引
- jQuery獲取選中的核取方塊或者單按鈕的值jQuery
- 使用jquery獲取被選中checkbox核取方塊的值jQuery