0

我正在尝试将自定义标头应用于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);。我猜可能是因为 param (ViewGroup) v。我怎样才能绕过这个错误?

4

2 回答 2

1

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

于 2012-06-26T12:00:59.940 回答
0

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

于 2012-06-26T11:59:33.397 回答