簡體   English   中英

如何從Android中的“自定義ListView”獲取被點擊項的位置?

[英]How to get clicked item position from Custom ListView in android?

我正在嘗試獲取自定義列表視圖的位置(從原始列表位置排序后)。 這是因為列表項的數據庫ID與listview項的位置匹配。 因此,我需要獲取與listview項目位置匹配的已排序項目的正確位置。 我有這個代碼。

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return sampleArrayList.get(position);
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

但是我驚訝地發現,我需要將該職位納入我的主要活動。 非常感謝您的任何幫助,並在此先感謝...

我懷疑,我完全理解您的問題以及您想要的是什么。但是我建議您可以維護HashMap以便為每個列表視圖存儲位置ID對。

在您的CustomAdapter中:

public static HashMap<Integer,String> myList=new HashMap<Integer,String>();

在getView()中:

String id= (fetch _id from database);
myList.put(position, id);

現在,在您的主要活動中,您可以通過將以下行放在OnItemClickListener()的onClick()中來檢索每個listitem的_id:

 Long id=Long.parseLong(CustomAdapter.myList.get(position));

您可以在自定義適配器mCurrentPosition中定義一個字段,並將其設置為int方法

View getView(final int position, View convertView, ViewGroup parent) {<
this.mCurrentPosition = position;
....
}

從活動中訪問此字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM