Nicht sicher, ob die Frage noch offen ist. Trotzdem denke ich, ich werde teilen, wie ich es gemacht habe, damit es jemandem helfen kann, der dasselbe machen möchte.
Sie können die Tag-Funktion einer Ansicht verwenden, um die Zuordnung zwischen der ID dieser Ansicht und ihrer Position in der Liste zu speichern.
Die Dokumentation für Tags auf der Website für Android-Entwickler erklärt es gut:
http://developer.android.com/reference/android/view/View.html#Tags
http://developer.android.com/reference/android/view/View.html#setTag(int, java.lang.Object)
http://developer.android.com/reference/android/view/View.html#getTag(int)
Beispiel: Im getView Methode Ihrer Liste Adapter können Sie Legen Sie die Zuordnung für die ID dieser Ansicht und ihre Position in der Liste fest:
public View getView (int position, View convertView, ViewGroup parent)
{
if(convertView == null)
{
// create your view by inflating a xml layout resource or instantiating a
// custom view class
}
else
{
// Do whatever you want with the convertView object like
// finding a child view that you want to set some property of,etc.
}
// Here you set the position of the view in the list as its tag
convertView.setTag(convertView.getId(),position);
return convertView;
}
die Position der Ansicht abzurufen, Sie so etwas wie tun würde:
int getItemPosition(View view)
{
return view.getTag(view.getId());
}
Ein Punkt ist zu beachten, dass Sie einen Verweis auf die Aussicht haben brauchen, dessen Position Sie abrufen möchten . Wie Sie die Referenz der View erhalten, hängt von Ihrem speziellen Fall ab.
Sie eine Array oder Arraylist, die Ihre List View richtig unterstützt? Ich bin mir ziemlich sicher, dass du es benutzen kannst, um das zu erreichen. – midhunhk