2011-09-18 106 views
0

我希望能夠在微調視圖中長按項目並顯示contextMenu。我想這樣的代碼:Android長按微調視圖

spinner = (Spinner) findViewById(R.id.catagorySpinner); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,android.R.layout.simple_dropdown_item_1line, data); 
spinner.setAdapter(adapter); 
registerForContextMenu(spinner); 

但你可以猜到這增加了上下文菜單的實際微調,而不是裏面的內容。有誰知道我該怎麼做?

回答

1

你試過嗎?

 spinner.setOnItemLongClickListener(new OnItemLongClickListener() { 

      public boolean onItemLongClick(AdapterView<?> parent, View view, int arg2, long arg3) { 

       view.showContextMenu(); 
       return true; 

      } 
     }); 
+1

只適用於微調按鈕本身而不是其內容 –

+0

文檔說spinner不支持項目點擊偵聽器。 – Ronnie

1

您可以在適配器的getView()方法內註冊每個項目。

View getView(View convertView, ...) { 
    .... 
    // inflate view or reuse. 
    .... 
    getContext().registerForContextMenu(convertView); 
    .... 
    return convertView; 
}