带有图标的Android ContextMenu选项

时间:2010-01-27 18:19:34

标签: android

大家好

我有一个简单的问题 - 可以在上下文菜单中添加带图标的菜单项吗?我已经搜索过这个问题了,我发现它是不可能的,但是在Android设备的主屏幕上,当我执行长按时,正在显示“添加到主页”上下文菜单,包含带有文本的菜单项和图标,所以我认为必须有一种方法。

我尝试使用MenuItem.setIcon()方法,但图标不会在上下文菜单中消失,只显示文字。

谢谢!

2 个答案:

答案 0 :(得分:9)

无论您在哪里看到图标,都不是上下文菜单。如果它感觉有点像上下文菜单但有图标,则可能是AlertDialog,其自定义ListAdapter使用带图标的行。

答案 1 :(得分:2)

您需要扩展适配器

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