相关疑难解决方法(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 Extensions是否会缓存合成属性或每次调用findViewById()?

如果我有一个简单的自定义视图:

myitem.xml

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />
<FrameLayout/>
Run Code Online (Sandbox Code Playgroud)

访问kotlinx syntentic属性:

import kotlinx.android.synthetic.main.myitem.view.*

view.toolbar.text = "Some text"
Run Code Online (Sandbox Code Playgroud)

在内部,它会生成一个调用findByViewID().所以我的问题是:

是否为活动或每次findByViewID调用每个自定义视图缓存结果?出于性能原因,答案非常重要.

android kotlin kotlin-android-extensions

8
推荐指数
2
解决办法
1141
查看次数

在Kotlin Android中出现"未解析的参考"错误

我有代码:

package com.example.admin.maytinh

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import com.example.admin.maytinh.R.id.button
import com.example.admin.maytinh.R.id.editText
import com.example.admin.maytinh.R.id.editText2
import com.example.admin.maytinh.R.id.editText3


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        button.setOnClickListener(View.OnClickListener{xuly()})
    }

    public fun xuly(){
        val a:Int = editText.text.ToString().ToInt()
        val b:Int = editText2.text.ToString().ToInt()
        val c:Int = a + b
        editText3.text = c.ToString()
    }

}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到错误:

  • 未解析的引用setOnClickListener
  • 未解决的参考文献:文字
  • 未解决的参考:ToString

任何人都可以为我解释为什么会这样并修复它谢谢

android kotlin android-studio

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