Skip to content

Instantly share code, notes, and snippets.

View BuiVanNam's full-sized avatar
🐹
Contributing to Android open source

BuiVanNam BuiVanNam

🐹
Contributing to Android open source
View GitHub Profile
/**
* Created by nambv on 11/18/2020
*/
sealed class EventItemBook {
data class AddFavoriteBook(val book: Book) : EventItemBook()
data class RemoveFavoriteBook(val book: Book) : EventItemBook()
data class ActionOpenBook(val book: Book) : EventItemBook()
data class OpenMenuBook(val book: Book) : EventItemBook()
/**
* Created by nambv on 11/18/2020
*/
class BookAdapter : RecyclerView.Adapter<BookAdapter.BookViewHolder>() {
//Define function type
var mEventItemBook: ((EventItemBook) -> Unit)? = null
/////Setup for BookAdapter/////////
//Set mEventItemBook
private val mBookAdapter: BookAdapter by lazy {
BookAdapter().apply {
mEventItemBook = { handleEventItemListBook(it) }
}
}
//handleEvent
private fun handleEventItemListBook(eventItemBook: EventItemBook) {
Log.d("TODO", "event: $eventItemBook")
private val mBookAdapter: BookAdapter by lazy {
BookAdapter().apply {
setListenerEventItemBook(object : EventItemBook {
override fun addFavoriteBook(book: Book) {
Log.d("TODO", "addFavoriteBook: ")
}
override fun removeFavoriteBook(book: Book) {
Log.d("TODO", "removeFavoriteBook: ")
}
override fun actionOpenBook(book: Book) {
class BookAdapter : RecyclerView.Adapter<BookViewHolder() {
private var mEventItemBook: EventItemBook? = null
fun setListenerEventItemBook(eventItemBook: EventItemBook) {
this.mEventItemBook = eventItemBook
}
///////
inner class BookViewHolder(): RecyclerView.ViewHolder(itemView) {
val mIconFavorite= itemView.findViewById(R.id.favorite)
init {
mIconFavorite.setOnClickListener {
interface EventItemBook {
fun addFavoriteBook(book: Book)
fun removeFavoriteBook(book: Book)
fun actionOpenBook(book: Book)
fun openMenuBook(book: Book)
}
class MainActivity : AppCompatActivity() {
lateinit var instanceA : ClassA
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
instanceA = ClassA()
}
override fun onResume() {
super.onResume()
class ClassA {
var objectA = null
init {
objectA = getAFromFrameworkApi()
}
fun registerListenerAChange() {
objectA.registerStateChange()
}
class MainActivity : AppCompatActivity() {
var objectA = null
override fun onCreate(savedInstanceState: Bundle?) {
////
initObjectA()
}
override fun onResume() {
super.onResume()
@BuiVanNam
BuiVanNam / ScopeFunctions.kt
Created November 29, 2020 15:39
Scope Functions
//Not use Scope Functions
fun updateTextView(parentView: View) {
val textView = parentView.findViewById<TextView>(R.id.text_view)
if (textView != null) {
textView.text = "nambv"
textView.setTextColor(Color.RED)
textView.textSize = 15f
textView.maxLines = 1
textView.gravity = Gravity.CENTER
}