小编Tam*_*mas的帖子

如何在recyclerview视图中处理许多不同的视图类型

如果我有50种观点怎么办?我的适配器中应该有50个静态内部类吗?根据这个答案,是的.

我的第一个想法是将每个视图内部类移动到一个单独的公共类中,但它们必须是静态的.所以将每个封装到一个公共类中,使内部类静态?有没有更好的选择?

编辑:代码示例:那么这将是一个很好的解决方案?这不也会扼杀性能吗?

public class MainViewHolder extends DragSortAdapter.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
View container;
TextView title;

//called in onCreateViewHolder in adapter
public MainViewHolder(DragSortAdapter adapter, View itemView) {
    super(adapter, itemView);

    container = itemView.findViewById(R.id.card_root);

    title = container.findViewById(R.id.text);
}
//called by onBindViewHolder in adapter
public void setData(Data data) {
    title.setText(data.title);
}
}
Run Code Online (Sandbox Code Playgroud)

edit2:sample,用于返回viewholder的新实例

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
     switch (viewType) {
         case 0: return new MainViewHolder(...);
         case 2: return new MainViewHolderOther(...);
         ...
     }
}
Run Code Online (Sandbox Code Playgroud)

android adapter android-recyclerview

7
推荐指数
1
解决办法
1万
查看次数

如何在谷歌地图中的折线上方添加文字?

我有2个标记,我想在它们之间画一条线,并有一个文本显示线上方的距离,就像谷歌地图的网页版本一样.

地图

我已经发现这个样品约2个绘制标记之间的线路,但我怎么添加一行上面的文字?

android google-maps google-maps-android-api-2

6
推荐指数
2
解决办法
5245
查看次数