Android:复合控件中的按钮干扰ListView';上下文菜单

Android:复合控件中的按钮干扰ListView';上下文菜单,android,contextmenu,android-listview,textview,android-button,Android,Contextmenu,Android Listview,Textview,Android Button,我在这里遇到的问题是,列表项xml中的两个按钮似乎干扰了主活动中的ContextMenu,防止了长按列表项时它膨胀。值得注意的是,按钮本身工作正常。当我删除它们时,ContextMenu可以完美地工作 列表项xml: <com.anna.mytallykeeper.views.TallyItemView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" andr

我在这里遇到的问题是,列表项xml中的两个按钮似乎干扰了主活动中的ContextMenu,防止了长按列表项时它膨胀。值得注意的是,按钮本身工作正常。当我删除它们时,ContextMenu可以完美地工作

列表项xml:

<com.anna.mytallykeeper.views.TallyItemView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/item_description"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:textSize="40px"
    android:textColor="@color/dijon" />
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <Button android:id="@+id/decrement_button"
        android:layout_width="80px"
        android:layout_height="80px"
        android:layout_centerVertical="true"
        android:background="@drawable/minus_button_1" />
    <Button android:id="@+id/increment_button"
        android:layout_width="80px"
        android:layout_height="80px"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:background="@drawable/add_button_1" />
    <TextView android:id="@+id/item_count"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@id/increment_button"
        android:layout_toRightOf="@id/decrement_button"
        android:gravity="center_horizontal"
        android:textSize="80px"
        android:textColor="@color/dijon" />
</RelativeLayout>
</com.anna.mytallykeeper.views.TallyItemView>
从列表适配器类(从BaseAdapter继承):


我已经完成了列表视图onClick

public void onItemClick(AdapterView<?> view, View arg1, int arg2,
                    long id) {

                openContextMenu(arg1);
欲知详情


谢谢。

我终于想出了如何解决按钮干扰ContextMenu的问题:将每个按钮的focusable属性设置为false

    <Button android:id="@+id/increment_button"
        android:layout_width="80px"
        android:layout_height="80px"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:focusable="false"
        android:background="@drawable/add_button_1" />


表示您想在单击按钮时打开关联菜单?长按列表项时,我只是尝试了一下,但没有成功。我想,我的应用程序的问题是,每个列表项都包含按钮。我终于找到了它的问题所在。无论如何,谢谢你的建议。
    public View getView(int position, View view, ViewGroup parent) {
    TallyItemView tiv;
    if (view == null) {
        tiv = (TallyItemView)View.inflate(context, R.layout.tally_item_row, null);
    } else {
        tiv = (TallyItemView)view;
    }
    tiv.setTallyItem(tallyItems.get(position));
    tiv.getDecrementButton().setOnClickListener(new DecrementListener(position));
    tiv.getIncrementButton().setOnClickListener(new IncrementListener(position));

    return tiv;
}
public void onItemClick(AdapterView<?> view, View arg1, int arg2,
                    long id) {

                openContextMenu(arg1);
 registerForContextMenu(list);
    <Button android:id="@+id/increment_button"
        android:layout_width="80px"
        android:layout_height="80px"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:focusable="false"
        android:background="@drawable/add_button_1" />