我正在尝试将自定义标头应用于ContextMenuListView。这是代码。

@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。

08-06 10:25