【发布时间】:2015-02-26 04:10:23
【问题描述】:
我想知道如何更有效地重用一些代码来显示一个可以适应 getView()[BaseAdapter]、onBindView() [RecyclerView] 或 onCreateView() [Fragment] 的视图填充视图?
自定义 RecyclerView 适配器,填充整个 cardViews 列表
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
MyThing thing = things.get(i);
/* Repeatable Code */
if (thing.getIcon() == 0) {
viewHolder.thingIcon.setImageResource(0);
} else {
viewHolder.thingIcon.setImageResource(ThingIconSet
.getIconResId(thing.getIcon()));
}
etc..etc..etc
现在我还想以完全相同的方式在此适配器之外填充单个 cardView,无需维护此布局的两个副本,您建议我做什么?
SingleItemFragment 显示来自适配器或其他任何地方的单个项
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflating the root view
View rootView = inflater.inflate(R.layout.single_cardview_layout,
container, false);
/* Repeated Code */
if (thing.getIcon() == 0) {
viewHolder.thingIcon.setImageResource(0);
} else {
viewHolder.thingIcon.setImageResource(ThingIconSet
.getIconResId(thing.getIcon()));
}
谢谢
【问题讨论】:
标签: android android-fragments adapter android-recyclerview