相关疑难解决方法(0)

如何使用kotlin将RecyclerView.ViewHolder中的视图绑定

令我困惑的是如何绑定视图Recycleler.ViewHolder.这是我的简单适配器以及如何将其转换为kotlin使用kotlin-android-extensions而没有ButterKnife

public class RoomAdapter extends RecyclerView.Adapter<ViewHolder> {

  private OnItemClickListener mListener;
  private List<LocationBean> mRooms;

  static class ViewHolder extends RecyclerView.ViewHolder {

  @BindView(R.id.tv_title)
  TextView tvTitle;

  public ViewHolder(View itemView) {
   super(itemView);
   ButterKnife.bind(this, itemView);
   }
  }

  public void setData(List<LocationBean> rooms) {
   mRooms = rooms;
   notifyDataSetChanged();
  }

  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext())
      .inflate(R.layout.item_first_select, parent, false);
    return new ViewHolder(view);
  }

  @Override
  public void onBindViewHolder(final ViewHolder holder, int position) {
  holder.tvTitle.setText(mRooms.get(position).getLocation());

  holder.itemView.setOnClickListener(new OnClickListener() {
    @Override …
Run Code Online (Sandbox Code Playgroud)

android kotlin

26
推荐指数
2
解决办法
2万
查看次数

使用Kotlin在Android上的UI组件上声明的最佳方法是什么?

我正在尝试首次使用Kotlin构建Android应用程序.

我想在OnCreate方法之外的一些按钮上声明,我只能用findViewById在这个函数内初始化它们.

我可以在java中简单而干净的代码中声明吗?

private Button btnProceed;
Run Code Online (Sandbox Code Playgroud)

因为在将其转换为Kotlin时,它看起来像:

private var btnProceed: Button? = null
Run Code Online (Sandbox Code Playgroud)

然后在初始化OnClick函数时需要添加!标志:

btnProceed!!.setOnClickListener
Run Code Online (Sandbox Code Playgroud)

什么是正确和最干净的方式?

java android kotlin

13
推荐指数
2
解决办法
4189
查看次数

标签 统计

android ×2

kotlin ×2

java ×1