2011-08-16 33 views
2

我有一個GridView與ArrayAdapter,我想檢測上下文項目的選擇,並顯示一個「刪除」選項刪除選定的對象。我用正確的圖像填充網格只需要檢測刪除請願。我的代碼:檢測在方法onContextItemSelected中選擇的GridView項目

ArrayList<MyClass> array; 

public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.maingrid); 
    array=Manager.getMyArray(); 
    GridView gridview = (GridView) findViewById(R.id.gridview); 
    gridview.setAdapter(new mArrayAdapter(this,array)); 
    registerForContextMenu(gridview); 

} 

    @Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
     ContextMenuInfo menuInfo) { 

    menu.add(0, DELETE_ID, 0 , R.string.delete); 

} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
     case DELETE_ID: 
      return true; 
    } 
    return super.onContextItemSelected(item); 
} 

我怎樣才能猜到什麼是我必須刪除的數組元素?由於

回答

3

onContextItemSelected試試這個:

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

,你可以得到這樣的選擇的項目:

youradapter.getItem((int)info.id)) 

覆蓋適配器中getItem()函數返回選定的項目..

相關問題