Android долгое нажатие Spinner View - PullRequest
0 голосов
/ 18 сентября 2011

Я хочу, чтобы можно было долго нажимать элементы в представлении счетчика и отображать контекстное меню. Я попробовал этот код:

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);

но, как вы можете догадаться, это добавило контекстное меню к фактическому Spinner, а не к содержимому внутри. Кто-нибудь знает, как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Вы можете зарегистрироваться для каждого элемента в методе getView() адаптера.

View getView(View convertView, ... ) {
   ....
   // inflate view or reuse.
   ....
   getContext().registerForContextMenu(convertView);
   ....
   return convertView;
}
1 голос
/ 18 сентября 2011

Вы пробовали это?

        spinner.setOnItemLongClickListener(new OnItemLongClickListener() {

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

                view.showContextMenu();
                return true;

            }
        });
...