DJ2
12/08/2018, 11:08 PMfindViewById
is no longer necessary,
val btnSaveClick= findViewById<Button>(R.id.btnSave)
btnSaveClick?.setOnClickListener {
Toast.makeText(this@ArticleAdapter, "Article saved.", Toast.LENGTH_LONG).show()
}
What should be used instead.
I have this in my activity.xml:
<Button
android:id="@+id/btnSave"
android:layout_width="70dp"
android:layout_height="40dp"
android:onClick="btnSave"
android:text="@string/save"
android:textAlignment="center" />
tevjef
12/09/2018, 12:21 AMfindViewById
code will be generated for you. https://kotlinlang.org/docs/tutorials/android-plugin.html
btnSave.setOnClickListener { }
You reference the view in code by the id.DJ2
12/09/2018, 1:28 AMonCreate
function do I have to do this btnSave.setOnClickListener(this);
?Thiago Pereira
12/09/2018, 1:42 AMDJ2
12/09/2018, 1:46 AMThiago Pereira
12/09/2018, 3:39 AMThiago Pereira
12/09/2018, 3:39 AMDJ2
12/09/2018, 4:22 AMThiago Pereira
12/09/2018, 10:41 AMDJ2
12/09/2018, 8:10 PMimport kotlinx.android.synthetic.main.articlerecycler_item.view.*
class ArticleAdapter(private val controller: IController) : RecyclerView.Adapter<ArticleViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ArticleViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.articlerecycler_item, parent, false)
return ArticleViewHolder(view)
}
/** Called when the user taps the Save button */
btnSave.setOnClickListener(){
(R.layout.articlerecycler_item)
AlertDialog.Builder(this)
.setMessage("Article Saved.")
.create()
.show()
// Do something in response to button click
}
override fun getItemCount(): Int {
return controller.articles.size
}
override fun onBindViewHolder(holder: ArticleViewHolder, position: Int) {
val article: Article = controller.articles[position]
if(article.title.length > 100) {
holder.itemView.titleTv.text = "${article.title.substring(0, 99)}..."
} else {
holder.itemView.titleTv.text = article.title
}
holder.itemView.authorTv.text = article.author
}
}
class ArticleViewHolder(view: View?) : RecyclerView.ViewHolder(view)
DJ2
12/09/2018, 8:11 PM<Button
android:id="@+id/btnSave"
android:layout_width="70dp"
android:layout_height="40dp"
android:onClick="btnSave"
android:text="@string/save"
android:textAlignment="center" />
Thiago Pereira
12/10/2018, 1:06 AM