@@ -4,10 +4,14 @@ import android.content.Context
44import android.support.v7.widget.RecyclerView
55import android.view.View
66import android.view.ViewGroup
7+ import android.widget.Toast
78import com.bumptech.glide.Glide
9+ import com.like.*
810import com.rayfantasy.icode.R
911import com.rayfantasy.icode.extension.inflate
1012import com.rayfantasy.icode.extension.loadPortrait
13+ import com.rayfantasy.icode.extension.onLike
14+ import com.rayfantasy.icode.postutil.PostUtil
1115import com.rayfantasy.icode.postutil.bean.CodeGood
1216import com.rayfantasy.icode.ui.fragment.SettingFragment
1317import kotlinx.android.synthetic.main.item_block_favorite.view.*
@@ -16,8 +20,9 @@ import kotlinx.android.synthetic.main.item_block_title.view.*
1620import org.evilbinary.highliter.HighlightEditText
1721import org.evilbinary.managers.Configure
1822import org.jetbrains.anko.defaultSharedPreferences
23+ import org.jetbrains.anko.onClick
1924
20- class BlockAdapter (ctx : Context , val codeGood : CodeGood , var blocks : List <CodeGood .Block >) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
25+ class BlockAdapter (var ctx : Context , val codeGood : CodeGood , var blocks : List <CodeGood .Block >) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
2126 private val TITLE_VIEW = 998
2227 private val FAVORITE_VIEW = 999
2328 private val highlightTheme = ctx.defaultSharedPreferences.getString(SettingFragment .PREF_HIGHLIGHT , SettingFragment .DEFAULT_HIGHLIGHT )
@@ -40,13 +45,25 @@ class BlockAdapter(ctx: Context, val codeGood: CodeGood, var blocks: List<CodeG
4045 holder.user_icon.loadPortrait(codeGood.username)
4146
4247 }
43- is FavoriteViewHolder -> {}
48+ is FavoriteViewHolder -> {
49+ holder.favorite.onLike {
50+ liked {
51+ PostUtil .addFavorite(codeGood.id,{Toast .makeText(ctx," 收藏成功" ,Toast .LENGTH_LONG ).show()},{t,rc -> Toast .makeText(ctx," 收藏失败,$rc " ,Toast .LENGTH_LONG ).show()})
52+ }
53+ unLiked {
54+ PostUtil .delFavorite(codeGood.id,{Toast .makeText(ctx," 取消收藏成功" ,Toast .LENGTH_LONG ).show()},{t,rc -> Toast .makeText(ctx," 取消收藏失败,$rc " ,Toast .LENGTH_LONG ).show()})
55+ }
56+ }
57+
58+ }
59+
60+ }
4461
4562 }
4663
47- }
4864
49- override fun getItemCount () = blocks.size + 1
65+
66+ override fun getItemCount () = blocks.size + 2
5067
5168 override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ) = when (viewType) {
5269 CodeGood .BlockType .CODE -> CodeViewHolder (parent.inflate(R .layout.item_block_code) as ViewGroup , highlightTheme)
@@ -57,7 +74,7 @@ class BlockAdapter(ctx: Context, val codeGood: CodeGood, var blocks: List<CodeG
5774
5875 }
5976
60- override fun getItemViewType (position : Int ) = if (position == 0 ) TITLE_VIEW /* else if (position == blocks.size+1) FAVORITE_VIEW */ else {
77+ override fun getItemViewType (position : Int ) = if (position == 0 ) TITLE_VIEW else if (position == blocks.size+ 1 ) FAVORITE_VIEW else {
6178 blocks[position - 1 ].blockType
6279 }
6380
0 commit comments