فهرست منبع

Added group dividers on user screen

Vadik Sirekanyan 7 سال پیش
والد
کامیت
fbf5216bed

+ 2 - 1
app/src/main/java/me/vadik/knigopis/adapters/books/BooksAdapter.kt

@@ -16,12 +16,13 @@ class BooksAdapter(
     private val dialogs: DialogFactory
 ) : AbstractBooksAdapter(books, R.layout.header, R.layout.user_book) {
 
-    override fun bindHeaderViewHolder(holder: BookHeaderViewHolder, header: BookHeader) {
+    override fun bindHeaderViewHolder(holder: BookHeaderViewHolder, header: BookHeader, i: Int) {
         if (header.title.isEmpty()) {
             holder.setTitle(R.string.books_header_done_other)
         } else {
             holder.setTitle(header.title)
         }
+        holder.showTopDivider(i > 0)
     }
 
     override fun bindItemViewHolder(holder: BookItemViewHolder, book: FinishedBook) {

+ 2 - 2
app/src/main/java/me/vadik/knigopis/common/adapter/AbstractBooksAdapter.kt

@@ -17,7 +17,7 @@ abstract class AbstractBooksAdapter(
     @LayoutRes private val itemLayout: Int
 ) : RecyclerView.Adapter<BookViewHolder>() {
 
-    abstract fun bindHeaderViewHolder(holder: BookHeaderViewHolder, header: BookHeader)
+    abstract fun bindHeaderViewHolder(holder: BookHeaderViewHolder, header: BookHeader, i: Int)
 
     abstract fun bindItemViewHolder(holder: BookItemViewHolder, book: FinishedBook)
 
@@ -31,7 +31,7 @@ abstract class AbstractBooksAdapter(
     override fun onBindViewHolder(holder: BookViewHolder, position: Int) {
         val element = elements[position]
         when (holder) {
-            is BookHeaderViewHolder -> bindHeaderViewHolder(holder, element as BookHeader)
+            is BookHeaderViewHolder -> bindHeaderViewHolder(holder, element as BookHeader, position)
             is BookItemViewHolder -> bindItemViewHolder(holder, element as FinishedBook)
         }
     }

+ 4 - 0
app/src/main/java/me/vadik/knigopis/common/adapter/BookViewHolder.kt

@@ -21,6 +21,10 @@ class BookHeaderViewHolder(private val view: View) : BookViewHolder(view) {
         view.book_title.text = context.getString(titleRes)
     }
 
+    fun showTopDivider(visible: Boolean) {
+        view.header_divider.showNow(visible)
+    }
+
 }
 
 class BookItemViewHolder(private val view: View) : BookViewHolder(view) {

+ 3 - 4
app/src/main/java/me/vadik/knigopis/user/UserActivity.kt

@@ -5,7 +5,6 @@ import android.content.Context
 import android.content.Intent
 import android.os.Bundle
 import android.support.v7.app.AppCompatActivity
-import android.support.v7.widget.DividerItemDecoration
 import android.support.v7.widget.LinearLayoutManager
 import android.view.Menu
 import android.view.MenuItem
@@ -57,9 +56,9 @@ class UserActivity : AppCompatActivity() {
         supportActionBar?.setDisplayHomeAsUpEnabled(true)
         val layoutManager = LinearLayoutManager(this)
         userBooksRecyclerView.layoutManager = layoutManager
-        userBooksRecyclerView.addItemDecoration(
-            DividerItemDecoration(this, layoutManager.orientation)
-        )
+//        userBooksRecyclerView.addItemDecoration(
+//            DividerItemDecoration(this, layoutManager.orientation)
+//        )
         userBooksRecyclerView.adapter = booksAdapter
     }