每次我打電話給我的人裏面OnBind()方法,它們內部的意見會閃爍或閃爍或者甚至消失。
我只是很迷茫,爲什麼,我已經嘗試了一些東西。
- 將它們更改爲null作爲背景或使它們全部爲純色。
- 確保在任何時候都不會有任何事情發生。
- 刪除任何動畫。
- 向Google問千次,千方百計。
- 已在這裏搜索。
思考
我一直認爲,我將不得不最終試着和動畫和造型隱藏。將其視爲綁定的副作用。
很明顯,這是一個較大項目的一部分。所以我仍然需要做所有的動畫,這就是爲什麼我還沒有做到這一點。我想問一下,看看有沒有人可以幫助另一種方式尋找解決方案。
任何幫助,提示或建議將是偉大的。希望代碼鏈接可以工作,並且可以爲每個人創建。
謝謝,
喬恩。
代碼
我不知道我需要多少代碼在這裏補充,所以我會去小在第一次。如果還有更多應該添加,請讓我知道,我會的。不過,我把它放在Github和Dropbox上(例如Apk & Zip)。
鏈接位於底部。
HeaderHolder.java
public class HeaderHolder extends BaseHolder {
@Bind(R.id.header_title_text)
TextView _titleTextView;
@Bind(R.id.header_status_image)
ImageView _statusImageView;
@BindDrawable(R.drawable.ic_selected)
Drawable _statusSelected;
@BindDrawable(R.drawable.ic_non_selected)
Drawable _statusNonselected;
private Header _header;
public HeaderHolder(View root, HolderCallBacks callbacks) {
super(null, root, callbacks);
}
@Override
public void OnBind(Base model) {
this._header = (Header) model;
String n = model._name();
this._titleTextView.setText(n);
this._statusImageView.setImageDrawable(this._header._iconset()._selected()
? this._statusSelected : this._statusNonselected);
}
@OnClick(R.id.header_item_wrapper)
public void _headerClick(View view) {
this._callbacks.OnHolderClick(view, this._header);
}
}
IconsetHolder.java
public class IconsetHolder extends BaseHolder {
@Bind(R.id.iconset_icon_recycler)
RecyclerView _iconsRecycler;
private AdapterCallBacks _adapterCallbacks;
public IconsetHolder(Context context, View root, AdapterCallBacks callbacks) {
super(context, root, null);
this._adapterCallbacks = callbacks;
}
@Override
public void OnBind(Base model) {
Iconset i = (Iconset) model;
this._iconsRecycler.setLayoutManager(new GridLayoutManager(
this._context, i._span(), GridLayoutManager.HORIZONTAL, false));
this._iconsRecycler.setAdapter(new ModelsAdapter(i._icons(), this._adapterCallbacks));
}
}
item_header.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/header_item_wrapper"
android:layout_width="wrap_content"
android:layout_height="56dip"
android:background="#595959"
tools:context=".views.adapters.holders.HeaderHolder">
<TextView
android:id="@+id/header_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="16dp"
android:textColor="#fff8f8f8"
android:gravity="center_vertical"
android:text="ICONSET"
android:textSize="24sp"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/header_status_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:gravity="center_vertical"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
</RelativeLayout>
item_iconset.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/iconset_item_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
tools:context=".views.adapters.holders.IconsetHolder">
<android.support.v7.widget.RecyclerView
android:id="@+id/iconset_icon_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:background="#595959"
android:layout_marginBottom="16dp"
/>
</RelativeLayout>
實例鏈接刪除
非常感謝! @Alex Townsend。像魅力一樣工作。總是希望這將是一個簡單的解決方案。現在這個過度被告知的問題似乎毫無意義。再次感謝。 –