2011-09-18 64 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; 
}