Опция Android ContextMenu со значком - PullRequest
4 голосов
/ 27 января 2010

Привет всем

У меня простой вопрос - возможно ли добавить пункт меню со значком в контекстное меню? Я искал эту проблему, и все, что я обнаружил, это то, что это невозможно, но на главном экране устройства Android, когда я выполняю длинный щелчок, отображается контекстное меню «добавить в дом», которое содержит пункты меню с текстом и значок, так что я решил, что должен быть способ сделать это.

Я пытался использовать метод MenuItem.setIcon(), но значок не отключается в контекстном меню, только текст.

Спасибо!

Ответы [ 2 ]

9 голосов
/ 28 января 2010

Везде, где вы видите значки, это не контекстное меню. Если это немного похоже на контекстное меню, но содержит значки, то, вероятно, это AlertDialog с пользовательским ListAdapter, в котором используются строки со значками.

2 голосов
/ 04 сентября 2012

вам нужно расширить свой адаптер

  public class Menu_adapter extends BaseAdapter {

и метод

public View getView(int position, View convertView, ViewGroup parent) {
            Menu_item menu_item = (Menu_item) this.getItem(position);
            ViewHolder viewHolder;

            if (convertView == null) {
                convertView = lInflater.inflate(R.layout.item_left_elements, null); 
                viewHolder = new ViewHolder();

                viewHolder.text = (TextView) convertView
                        .findViewById(R.id.tvDescr);

                convertView.setTag(viewHolder);
                convertView.setTag(R.id.tvDescr, viewHolder.text);
            } else {
                viewHolder = (ViewHolder) convertView.getTag();
            }



            ImageView imageView = (ImageView) convertView.findViewById(R.id.ivImage);
            if (menu_item.get_Item_Use() == true ) {

                imageView.setImageResource(R.drawable.ic_menu_arrow_icon_pressed);
            } else {    

                imageView.setImageResource(R.drawable.ic_menu_arrow_icon);


            }

            viewHolder.text.setTag(position);
            viewHolder.text.setText(res.getString(menu_item.get_Item_id()));
            return convertView;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...