C# MvxListVIew项长单击绑定,其中包含EditText

C# MvxListVIew项长单击绑定,其中包含EditText,c#,android,android-layout,xamarin,mvvmcross,C#,Android,Android Layout,Xamarin,Mvvmcross,我想让MvxListView中的EditText绑定在ItemLongClick中正常工作(使用模板)。我使用的开发框架是Xamarin.Android中的MvvmCross(用C#编写) 我尝试了正常的方法,EditText似乎占据了MvxListView项中的所有焦点。这意味着,ItemLongClick仅在该项的EditText部分中起作用。重要的是要知道,当我禁用EditText(android:focusable=“false”)的聚焦功能时,ItemLongClick会在项目的所有部

我想让
MvxListView
中的
EditText
绑定在
ItemLongClick
中正常工作(使用模板)。我使用的开发框架是Xamarin.Android中的
MvvmCross
(用
C#
编写)

我尝试了正常的方法,
EditText
似乎占据了
MvxListView
项中的所有焦点。这意味着,
ItemLongClick
仅在该项的
EditText
部分中起作用。重要的是要知道,当我禁用
EditText
android:focusable=“false”
)的聚焦功能时,
ItemLongClick
会在项目的所有部分工作(牺牲
EditText
不工作)。我最后尝试的一件事是在我的项目布局的根元素(基于)上设置
android:degenantfocusability=“blocksDescendants”
,其作用与禁用
EditText
focusability相同

下面是我写的代码

.axml中的MvxListView

...
<Mvx.MvxListView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    local:MvxItemTemplate="@layout/table_shipment_item_layout"
    android:divider="#BCBCBC"
    android:dividerHeight="1dp"
    android:descendantFocusability="afterDescendants"
    android:focusable="false"
    local:MvxBind="ItemsSource ScannedItems; ItemLongClick RemoveItemCommand;" />
...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/custom_clickable_item">
    ...
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:textSize="16.0dp"
        android:text="5"
        android:padding="8.0dp"
        android:maxLines="1"
        android:singleLine="true"
        android:textColor="#000000"
        android:textColorHint="#D3D3D3"
        android:background="@drawable/custom_textbox"
        android:inputType="number|numberDecimal"
        android:digits="0123456789."
        android:layout_gravity="right|center_vertical"
        local:MvxBind="Text Quantity;" />
</LinearLayout>
。。。
...
表\u发货\u项目\u布局。axml

...
<Mvx.MvxListView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    local:MvxItemTemplate="@layout/table_shipment_item_layout"
    android:divider="#BCBCBC"
    android:dividerHeight="1dp"
    android:descendantFocusability="afterDescendants"
    android:focusable="false"
    local:MvxBind="ItemsSource ScannedItems; ItemLongClick RemoveItemCommand;" />
...
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/custom_clickable_item">
    ...
    <EditText
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:textSize="16.0dp"
        android:text="5"
        android:padding="8.0dp"
        android:maxLines="1"
        android:singleLine="true"
        android:textColor="#000000"
        android:textColorHint="#D3D3D3"
        android:background="@drawable/custom_textbox"
        android:inputType="number|numberDecimal"
        android:digits="0123456789."
        android:layout_gravity="right|center_vertical"
        local:MvxBind="Text Quantity;" />
</LinearLayout>

...


如您所见,我使用的是
EditText
,因此用户可以编辑每个扫描项目的数量。有什么解决办法吗?除了
MvxListView
中的
EditText
之外,我还愿意使用另一种方法(如果有的话)。提前感谢。

您正在使用的android:DegenantFocusability=“BlocksDescents”位于您的
Mvx中。MvxListView
不起作用,您需要将其添加到行xml的根布局中

还有一个想法是,您在
Mvx.MvxListView
中声明了
android:focusable=“false”
,这也不起作用,您需要像您的案例中那样添加子xml内部布局
EditText

根据经验,
ListView
中的
EditText
工作不正常。如果您想分别从每一行获取输入

您可以使用
TextView
代替
EditText
,使用
EditText
打开并输入
对话框
,获取输入值并设置到
TextView
和数据列表中


您可以使用
滚动视图
Lienarelayout
编辑文本
创建自定义
列表视图
,这样就不需要打开和输入
对话框

是的,我已经尝试了所有这些
genderantfocusability
,但都没有效果。他们在那里,因为我没有删除后,尝试了很多次。根据您的经验,您是否可以建议其他方法来解决此问题?谢谢您的建议。是否有任何链接或教程可用于将输入
对话框
编辑文本
一起使用?通过使用
ScrollView
,它还会使用
local:MvxItemTemplate
ItemsSource
绑定吗?如果是这样,项目模板是否也可以作为父项的焦点?您需要在单击EditText时创建一个对话框。请按此链接查看此对话框