我希望EditText
中MvxListView
ItemLongClick
MvvmCross
绑定正常工作(使用模板)。我使用的开发框架是Xamarin.Android中的C#
(用EditText
编写)。
我尝试过常规方法,MvxListView
似乎将ItemLongClick
项目中的所有焦点都放在了一起。这意味着,EditText
仅适用于项目的EditText
部分。重要的是要知道当我禁用android:focusable="false"
(ItemLongClick
)的焦点时,EditText
在项目的所有部分内工作(牺牲android:descendantFocusability="blocksDescendants"
不起作用)。我尝试过的最后一件事是在我的项目布局的根元素(基于this answer)上设置EditText
,它的作用与禁用...
<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;" />
...
焦点相同。
以下是我写的代码。
.axml中的MvxListView
<?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>
table_shipment_item_layout.axml
EditText
如您所见,我使用EditText
,因此用户可以编辑每个扫描项目的数量。这有什么解决方法吗?除了MvxListView
{{1}}之外,如果有的话,我也会接受另一种方法。提前谢谢。
答案 0 :(得分:0)
您正在android:descendantFocusability="blocksDescendants"
使用的Mvx.MvxListView
无效,您需要将其添加到行行xml的根布局中。
还有一个人认为您已在android:focusable="false"
中声明Mvx.MvxListView
这也无法正常工作您需要添加您的子xml内部布局,例如EditText
。
根据EditText
中的经验ListView
无法正常工作。如果您想分别从每行输入。
您可以使用TextView
代替EditText
,然后打开并输入Dialog
EditText
并输入您的输入值并设置为TextView
和您的ListView
DataList的。
OR
您可以使用ScrollView
和Lienarelayout
以及EditText
创建自定义Dialog
,这样就无需打开并输入ChoiceBox
。