Immer das ausgewählte Element in der Listen-Ansicht über Kontextmenü
Kann nicht herausfinden, was ist Los mit meinem code:
registerForContextMenu(lv_myhitshotlists);
AdapterContextMenuInfo menuinfo = null;
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
/*menu.setHeaderTitle("Item Operations");
menu.add(0, v.getId(), 0, "Edit Film");
menu.add(0, v.getId(), 0, "Delete Film");*/
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_myfilm_list,menu);
menuinfo = (AdapterContextMenuInfo) menuInfo;
menu.setHeaderTitle("Options");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
try{
menuinfo = (AdapterContextMenuInfo) item.getMenuInfo();
AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
Long ids = madapter.getItemId(info.position);//what item was selected is ListView
i = ids.intValue();
switch (item.getItemId()) {
case R.id.menu_edit_myfilm:
intHitshotEdit = new Intent(MyHitshotListActivity.this,MyHitshotInfoEditActivity.class);
intHitshotEdit.putExtra("video_id", myList.get(i).getid());
intHitshotEdit.putExtra("video_title", myList.get(i).getTitle());
Toast.makeText(getApplicationContext(),myList.get(i).getTitle(), Toast.LENGTH_SHORT).show();
//intVideodetails.putExtra("video_desc", myList.get(i).get);
startActivity(intHitshotEdit);
overridePendingTransition(R.anim.slideinfromright,R.anim.slideouttoleft);
//intVideoUpload.putExtra("title",""+info.);
return true;
case R.id.menu_delete_myfilm:
return true;
default:
}
}catch(Exception e)
{
e.printStackTrace();
}
return super.onContextItemSelected(item);
}
Jedes mal Long ids
ist die Rückgabe 0.Ich bin die Bindung von Daten zum listview in der onpostexecute () - Teil der asynctask wie diese:
public void setAdapterToListview(ArrayList<MyHitshotListData> myList) {
madapter=new MyHitshotListAdapter(context, myList);
lv_myhitshotlists.setAdapter(madapter);
}
MyHitshotListAdapter ist ein adapter Verlängerung der Basis-adapter-Klasse.Was ist falsch????Warum der Wert der ids ist immer null??Der Wert von position
kommt.
- aber warum machst du das? direkt index wie
int index = info.position;
- index des listview-Recht????
- ya, und Sie erhalten Daten zu bestimmten index mit
video_id=myList.get(index).getid();
- Vielen Dank...funktioniert perfekt...Eigentlich zuvor habe ich getan viele Projekte, die mithilfe von Kontext-Menü auf und ich folgte ihm auf diese Weise nur.Aber in diesem Fall wurde ich geschlagen.Und die Art und Weise, die Sie gezeigt haben ist die einfachste von allen,nur das abrufen der position des Kontext-Element geklickt haben.Bitte diesen post als Antwort, damit kann ich akzeptieren deine Antwort.
InformationsquelleAutor kgandroid | 2014-05-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie direkt index in Ihrem
onContextItemSelected(MenuItem item)
Methode wieund Sie bekommen die Daten, die für eine Besondere index von Ihrem
ArrayList
wieKönnen Sie die position der Liste Element, das Sie lange gedrückt, über den Menüpunkt