为ContextMenu应用自定义标头

时间:2012-06-26 10:55:21

标签: java android android-layout contextmenu

我正在尝试将自定义标头应用于ContextMenu的{​​{1}}。这是代码。

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行中。我猜可能是因为param View header = View.inflate(getSherlockActivity(), R.id.context_menu_header, (ViewGroup) v);。我怎样才能解决这个错误?

2 个答案:

答案 0 :(得分:1)

我使用的是R.id.context_menu_header而不是R.layout.layout_file,我必须为View.inflate方法的最后一个参数传递null。

答案 1 :(得分:0)

我的第一个是你的一个XML文件中的错误。一些未正确定义的ID或其他内容。如果您要发布更多代码(包括XML文件),将会很有帮助:)