2012-03-25 15 views
0

我將使用quickaction的listview。 我用這個例子的quickaction: http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/如何獲得一個快速的listview itemid

但我怎麼從我的ListViewItem獲得ID在setOnActionItemClickListener/onItemClick使用它?

這裏的代碼:

ListView mList = (ListView) findViewById(android.R.id.list); 
mList.setAdapter(entryAdapter); 

//Add action item 
ActionItem addAction = new ActionItem(); 
addAction.setTitle("Add"); 
addAction.setIcon(getResources().getDrawable(R.drawable.ic_add)); 

//Show action item 
ActionItem accAction = new ActionItem(); 
accAction.setTitle("Accept"); 
accAction.setIcon(getResources().getDrawable(R.drawable.ic_accept)); 

final QuickAction mQuickAction = new QuickAction(this); 

mQuickAction.addActionItem(addAction); 
mQuickAction.addActionItem(accAction); 


//setup the action item click listener 
mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() { 
    public void onItemClick(QuickAction quickAction, int pos, int actionId) { 
    if (pos == 0) { //Add item selected 
     Toast.makeText(getApplicationContext(), "Add item selected", Toast.LENGTH_SHORT).show(); 
    } else if (pos == 1) { //Accept item selected 
     Toast.makeText(getApplicationContext(), "Accept item selected", Toast.LENGTH_SHORT).show(); 
    } 
    } 
}); 

mList.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    mQuickAction.show(view); 
    } 
}); 

回答

1

你可以得到ID和位置在onItemClickListener並將其保存在一個變量:您onItemClickListener

int myId; 

,並改成這樣:: 的onCreate之前添加此

mList.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    myId=id; 
    mQuickAction.show(view); 
    } 
}); 

那麼你可以使用myId作爲代碼中點擊項的ID。

0

當你創建ListView控件,你必須有一個項目列表或陣列提供它用來顯示數據。 onItemClick方法爲您提供了您單擊的項目的編號。通過查詢您在此位置的數據的ListView支持數據結構,您可以準確找出哪些項目被點擊。