嗨MvvmCross/Xamarin離散事件,刷卡刷新佈局打破回收項目模板
我已經跑入周圍MvxRecyclerView和android.support.v4.widget.SwipeRefreshLayout圍繞一個問題。
- Xamarin版本:7.0.1.3(Xamarin業務)
- SDK工具版本:25.1.7
- SDK平臺工具版本:24.0.1
- SDK構建工具在Android上使用會出現此問題版本:23.0.3
- MvvmCross V4.3.0。
這就是發生了什麼事。我有一個綁定到可觀察集合的MvxRecyclerView,並且有一個自定義模板。當我們點擊列表底部時,我也使用TemplateSelector顯示「加載單元格」。 MvxRecyclerList封裝在android.support.v4.widget.SwipeRefreshLayout中以實現刷新模式。
當結果加載到列表中時,它應該顯示爲應該顯示,回到列表並返回列表。單元格模板佈局看起來應該完全一樣。正如你可以看到下面。
然而,當我做一拉,刷新和我在等待最後的數據返回佈局是「破」,一切都在那裏,但它搞砸了。見下面
如果這是不奇怪的是,你這樣做是殘破交換每次細胞拉刷新。
有時沒有被破壞。最後要補充的是,這些單元格在回收時會修復它們。
我已經縮小了事實,即MvxRecyclerView包裝在SwipeRefreshLayout中,沒有我可以多次調用reload函數而沒有一次單元竊聽。
任何幫助或指針,將不勝感激。
UPDATE:ItemTemplate中的Xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="100dp">
<Mvx.MvxImageView
android:id="@+id/car_item_template_image_view"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:scaleType="centerCrop"
android:background="@drawable/image_placeholder"
local:MvxBind="ImageUrl MainImageUrl" />
<RelativeLayout
android:orientation="vertical"
android:background="@color/white"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:layout_marginLeft="10dp"
android:layout_gravity="center_vertical">
<TextView
android:id="@+id/car_item_template_make_text"
android:text="Make"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:textColor="@color/theme_blue"
android:fontFamily="sans-serif-light"
android:textSize="@dimen/car_item_template_title_text_size"
local:MvxBind="Text Make, Converter=EmptyStringCheck"
android:ellipsize="end"
android:singleLine="true" />
<TextView
android:text="Model"
android:layout_width="@dimen/car_item_template_model_text_width"
android:layout_height="25dp"
android:layout_marginLeft="7dp"
android:textColor="@color/theme_blue"
android:layout_toRightOf="@id/car_item_template_make_text"
android:layout_toLeftOf="@+id/car_item_template_price_text"
android:fontFamily="sans-serif-light"
android:textSize="@dimen/car_item_template_title_text_size"
local:MvxBind="Text Model, Converter=EmptyStringCheck"
android:ellipsize="end"
android:singleLine="true" />
<TextView
android:id="@+id/car_item_template_price_text"
android:text="Price"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/car_item_template_make_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:textColor="@color/theme_blue"
android:fontFamily="sans-serif-light"
android:textSize="@dimen/car_item_template_title_text_size"
local:MvxBind="Text Price, Converter=IntToPrice" />
<TextView
android:id="@+id/car_item_template_year_text"
android:layout_alignParentLeft="true"
android:layout_above="@+id/car_item_template_mileage_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Year"
android:textSize="@dimen/car_item_template_detail_text_size"
local:MvxBind="Text Year, Converter=EmptyShortCheck, ConverterParameter='No Year'" />
<TextView
android:id="@+id/car_item_template_mileage_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/car_item_template_location_text"
android:layout_alignParentLeft="true"
android:text="Mileage"
android:textSize="@dimen/car_item_template_detail_text_size"
local:MvxBind="Text Mileage, Converter=IntToMileage, ConverterParameter='No Mileage'" />
<TextView
android:id="@+id/car_item_template_location_text"
android:text="Location"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:textSize="@dimen/car_item_template_detail_text_size"
local:MvxBind="Text Location, Converter=EmptyStringCheck, ConverterParameter='No Location'" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:background="@drawable/generic_graydivider" />
</RelativeLayout>
安置自己的項目模板。 – Cheesebaron
@Cheesebaron更新的問題。在增加模板xml –
@Cheesebaron我現在正在做一個解決方法,請參閱下面的答案。我仍然不知道是什麼導致它:/ –