我正在尝试将自定义标头应用于ContextMenu
的ListView
。这是代码。
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
View header = View.inflate(getSherlockActivity(),
R.id.context_menu_header, (ViewGroup) v);
TextView title = (TextView) header
.findViewById(R.id.context_menu_title);
title.setText(cursor.getString(1));
menu.setHeaderView(header);
android.view.MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
此代码失败,并带有
Resources$NotFoundException: Resource ID #0x7f050038 type #0x12 is not valid
。在View header = View.inflate(getSherlockActivity(), R.id.context_menu_header, (ViewGroup) v);
行中。我猜测可能是因为参数(ViewGroup) v
。如何解决这个错误? 最佳答案
我使用的是R.id.context_menu_header
而不是R.layout.layout_file
,并且我必须为View.inflate方法的最后一个参数传递null。