大家好
我有一个简单的问题 - 可以在上下文菜单中添加带图标的菜单项吗?我已经搜索过这个问题了,我发现它是不可能的,但是在Android设备的主屏幕上,当我执行长按时,正在显示“添加到主页”上下文菜单,包含带有文本的菜单项和图标,所以我认为必须有一种方法。
我尝试使用MenuItem.setIcon()
方法,但图标不会在上下文菜单中消失,只显示文字。
谢谢!
答案 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;
}