From bf84559ef2346758f97175809776586df0f872da Mon Sep 17 00:00:00 2001 From: zlj <390057892@qq.com> Date: Mon, 18 Nov 2019 17:29:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E9=83=A8=E5=88=86java?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/NovelBookTypeListActivity.kt | 8 +- .../novel/read/activity/NovelMainActivity.kt | 20 +- .../read/activity/NovelRankListActivity.kt | 4 +- .../novel/read/activity/NovelReadActivity.kt | 3 +- .../read/activity/NovelSearchActivity.kt | 28 +-- .../read/activity/NovelSettingActivity.kt | 9 +- .../com/novel/read/adapter/BookAdapter.java | 188 ------------------ .../com/novel/read/adapter/BookAdapter.kt | 165 +++++++++++++++ .../novel/read/adapter/BookListAdapter.java | 146 -------------- .../com/novel/read/adapter/BookListAdapter.kt | 127 ++++++++++++ .../read/adapter/EditRecommendAdapter.java | 85 -------- .../read/adapter/EditRecommendAdapter.kt | 62 ++++++ .../novel/read/adapter/HistoryAdapter.java | 76 ------- .../com/novel/read/adapter/HistoryAdapter.kt | 54 +++++ .../com/novel/read/adapter/HotAdapter.java | 73 ------- .../java/com/novel/read/adapter/HotAdapter.kt | 54 +++++ .../com/novel/read/adapter/HumanAdapter.java | 73 ------- .../com/novel/read/adapter/HumanAdapter.kt | 55 +++++ .../com/novel/read/adapter/LoveLyAdapter.java | 81 -------- .../com/novel/read/adapter/LoveLyAdapter.kt | 59 ++++++ .../com/novel/read/adapter/MarkAdapter.java | 98 --------- .../com/novel/read/adapter/MarkAdapter.kt | 71 +++++++ .../novel/read/adapter/PageStyleAdapter.java | 72 ------- .../novel/read/adapter/PageStyleAdapter.kt | 54 +++++ .../com/novel/read/adapter/RankAdapter.java | 77 ------- .../com/novel/read/adapter/RankAdapter.kt | 55 +++++ .../novel/read/adapter/RankListAdapter.java | 146 -------------- .../com/novel/read/adapter/RankListAdapter.kt | 126 ++++++++++++ .../com/novel/read/adapter/SearchAdapter.java | 2 +- .../com/novel/read/adapter/StackAdapter.java | 76 ------- .../com/novel/read/adapter/StackAdapter.kt | 61 ++++++ .../novel/read/adapter/ViewPageAdapter.java | 31 --- .../com/novel/read/adapter/ViewPageAdapter.kt | 22 ++ .../novel/read/adapter/holder/MoreHolder.java | 23 --- .../novel/read/adapter/holder/MoreHolder.kt | 34 ++++ .../com/novel/read/fragment/BookFragment.kt | 13 +- .../novel/read/fragment/BookListFragment.kt | 4 +- .../com/novel/read/fragment/StackFragment.kt | 3 +- .../model/db/dbManage/BookRepository.java | 2 +- .../read/widget/dialog/ReadSettingDialog.kt | 2 +- app/src/main/res/layout/load_more_layout.xml | 18 +- app/src/main/res/values-night/strings.xml | 1 + .../main/res/values-zh-rTW-night/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 45 files changed, 1069 insertions(+), 1295 deletions(-) delete mode 100644 app/src/main/java/com/novel/read/adapter/BookAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/BookAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/BookListAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/BookListAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/HistoryAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/HistoryAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/HotAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/HotAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/HumanAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/HumanAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/LoveLyAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/LoveLyAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/MarkAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/MarkAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/PageStyleAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/PageStyleAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/RankAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/RankAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/RankListAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/RankListAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/StackAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/StackAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/ViewPageAdapter.java create mode 100644 app/src/main/java/com/novel/read/adapter/ViewPageAdapter.kt delete mode 100644 app/src/main/java/com/novel/read/adapter/holder/MoreHolder.java create mode 100644 app/src/main/java/com/novel/read/adapter/holder/MoreHolder.kt diff --git a/app/src/main/java/com/novel/read/activity/NovelBookTypeListActivity.kt b/app/src/main/java/com/novel/read/activity/NovelBookTypeListActivity.kt index 1ce4a2a..1eac376 100644 --- a/app/src/main/java/com/novel/read/activity/NovelBookTypeListActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelBookTypeListActivity.kt @@ -21,7 +21,7 @@ class NovelBookTypeListActivity : NovelBaseActivity() { private lateinit var mAdapter: BookListAdapter private var mCategoryId: String? = null private var mTitle: String? = null - private var page = 1 + private var page: Int = 1 private var loadSize: Int = 0 override val layoutId: Int get() = R.layout.activity_book_type_list @@ -39,11 +39,10 @@ class NovelBookTypeListActivity : NovelBaseActivity() { mAdapter.setOnLoadMoreListener(object : OnLoadMoreListener { override fun onLoadMore() { if (mAdapter.isLoadingMore) { - + rlv_type_list.stopScroll() } else { if (loadSize >= COMMENT_SIZE) { mAdapter.isLoadingMore = true - mList.add(SearchResp.BookBean()) mAdapter.notifyDataSetChanged() page++ getData() @@ -74,10 +73,9 @@ class NovelBookTypeListActivity : NovelBaseActivity() { } else { loadSize = event.result!!.book.size if (mAdapter.isLoadingMore) { - mList.removeAt(mList.size - 1) + mAdapter.isLoadingMore = false mList.addAll(event.result!!.book) mAdapter.notifyDataSetChanged() - mAdapter.isLoadingMore = false } else { mList.clear() mList.addAll(event.result!!.book) diff --git a/app/src/main/java/com/novel/read/activity/NovelMainActivity.kt b/app/src/main/java/com/novel/read/activity/NovelMainActivity.kt index 0ca711f..d719676 100644 --- a/app/src/main/java/com/novel/read/activity/NovelMainActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelMainActivity.kt @@ -27,10 +27,10 @@ import kotlinx.android.synthetic.main.activity_main.* class NovelMainActivity : NovelBaseActivity() { private var mCurrentFrag: Fragment? = null - private var mMainFragment: BookFragment? = null - private var mRecommendFragment: RecommendFragment? = null - private var mStackFragment: StackFragment? = null - private var mMoreFragment: MoreFragment? = null + private lateinit var mMainFragment: BookFragment + private lateinit var mRecommendFragment: RecommendFragment + private lateinit var mStackFragment: StackFragment + private lateinit var mMoreFragment: MoreFragment //记录用户首次点击返回键的时间 private var firstTime: Long = 0 @@ -55,19 +55,19 @@ class NovelMainActivity : NovelBaseActivity() { bottom_bar.setOnNavigationItemSelectedListener { menuItem -> when (menuItem.itemId) { R.id.tab_one -> { - switchFragment(mMainFragment!!) + switchFragment(mMainFragment) return@setOnNavigationItemSelectedListener true } R.id.tab_two -> { - switchFragment(mRecommendFragment!!) + switchFragment(mRecommendFragment) return@setOnNavigationItemSelectedListener true } R.id.tab_three -> { - switchFragment(mStackFragment!!) + switchFragment(mStackFragment) return@setOnNavigationItemSelectedListener true } R.id.tab_four -> { - switchFragment(mMoreFragment!!) + switchFragment(mMoreFragment) return@setOnNavigationItemSelectedListener true } } @@ -75,7 +75,7 @@ class NovelMainActivity : NovelBaseActivity() { } if (BookRepository.getInstance().collBooks.size > 0) { - switchFragment(mMainFragment!!) + switchFragment(mMainFragment) } else { bottom_bar.selectedItemId = R.id.tab_two } @@ -119,7 +119,7 @@ class NovelMainActivity : NovelBaseActivity() { if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) { if (!isVisible(bottom_bar)) { bottom_bar.visibility = View.VISIBLE - mMainFragment!!.updateBook(UpdateBookEvent()) + mMainFragment.updateBook(UpdateBookEvent()) } else { val secondTime = System.currentTimeMillis() if (secondTime - firstTime > 1000) { diff --git a/app/src/main/java/com/novel/read/activity/NovelRankListActivity.kt b/app/src/main/java/com/novel/read/activity/NovelRankListActivity.kt index 9759359..35121a5 100644 --- a/app/src/main/java/com/novel/read/activity/NovelRankListActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelRankListActivity.kt @@ -53,7 +53,6 @@ class NovelRankListActivity : NovelBaseActivity() { } else { if (loadSize >= COMMENT_SIZE) { mAdapter.isLoadingMore = true - mList.add(RankByUpdateResp.BookBean()) mAdapter.notifyDataSetChanged() page++ getData() @@ -74,10 +73,9 @@ class NovelRankListActivity : NovelBaseActivity() { if (response.body() != null) { loadSize = response.body()!!.book.size if (mAdapter.isLoadingMore) { - mList.removeAt(mList.size - 1) + mAdapter.isLoadingMore = false mList.addAll(response.body()!!.book) mAdapter.notifyDataSetChanged() - mAdapter.isLoadingMore = false } else { mList.clear() mList.addAll(response.body()!!.book) diff --git a/app/src/main/java/com/novel/read/activity/NovelReadActivity.kt b/app/src/main/java/com/novel/read/activity/NovelReadActivity.kt index 22f75a2..208a86e 100644 --- a/app/src/main/java/com/novel/read/activity/NovelReadActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelReadActivity.kt @@ -308,8 +308,7 @@ class NovelReadActivity : NovelBaseActivity(), DownloadService.OnDownloadListene showToast(getString(R.string.sign_exist)) return@setOnClickListener } - BookRepository.getInstance() - .addSign(mBookId, mCurrentChapter!!.chapterId, mCurrentChapter!!.title) + BookRepository.getInstance().addSign(mBookId, mCurrentChapter!!.chapterId, mCurrentChapter!!.title) updateMark() } } diff --git a/app/src/main/java/com/novel/read/activity/NovelSearchActivity.kt b/app/src/main/java/com/novel/read/activity/NovelSearchActivity.kt index 0b32ea8..3ff450f 100644 --- a/app/src/main/java/com/novel/read/activity/NovelSearchActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelSearchActivity.kt @@ -150,19 +150,23 @@ class NovelSearchActivity : NovelBaseActivity() { false } - mHotAdapter.setOnItemClickListener { view, pos -> - mSearchAdapter.setHolderType(true) - refresh.visibility = View.VISIBLE - tv_search.setText(mHotList[pos]) - saveKey() - } + mHotAdapter.setOnItemClickListener(object :HotAdapter.OnItemClickListener{ + override fun onItemClick(view: View, pos: Int) { + mSearchAdapter.setHolderType(true) + refresh.visibility = View.VISIBLE + tv_search.setText(mHotList[pos]) + saveKey() + } + }) - mHisAdapter.setOnItemClickListener { view, pos -> - mSearchAdapter.setHolderType(true) - refresh.visibility = View.VISIBLE - tv_search.setText(mHisList[pos].key) - saveKey() - } + mHisAdapter.setOnItemClickListener(object :HistoryAdapter.OnItemClickListener{ + override fun onItemClick(view: View, pos: Int) { + mSearchAdapter.setHolderType(true) + refresh.visibility = View.VISIBLE + tv_search.setText(mHisList[pos].key) + saveKey() + } + }) mSearchAdapter.setOnItemClickListener { view, pos -> mSearchAdapter.setHolderType(true) diff --git a/app/src/main/java/com/novel/read/activity/NovelSettingActivity.kt b/app/src/main/java/com/novel/read/activity/NovelSettingActivity.kt index a700bd7..ce8da58 100644 --- a/app/src/main/java/com/novel/read/activity/NovelSettingActivity.kt +++ b/app/src/main/java/com/novel/read/activity/NovelSettingActivity.kt @@ -33,10 +33,15 @@ class NovelSettingActivity : NovelBaseActivity(), View.OnClickListener { @SuppressLint("SetTextI18n") override fun initData() { - tv_language.text = resources.getStringArray(R.array.setting_dialog_language_choice)[SpUtil.getIntValue(Constant.Language, 1)] + tv_language.text = + resources.getStringArray(R.array.setting_dialog_language_choice)[SpUtil.getIntValue( + Constant.Language, + 1 + )] tv_version.text = "V" + VersionUtil.getPackageName(this)!! try { - val cacheSize = CleanCacheUtils.getInstance().getTotalCacheSize(this@NovelSettingActivity) + val cacheSize = + CleanCacheUtils.getInstance().getTotalCacheSize(this@NovelSettingActivity) tv_cache_num.text = cacheSize } catch (e: Exception) { e.printStackTrace() diff --git a/app/src/main/java/com/novel/read/adapter/BookAdapter.java b/app/src/main/java/com/novel/read/adapter/BookAdapter.java deleted file mode 100644 index 81310b0..0000000 --- a/app/src/main/java/com/novel/read/adapter/BookAdapter.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelReadActivity; -import com.novel.read.model.db.CollBookBean; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.ArrayList; -import java.util.List; - -public class BookAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - private final int VALUE_ITEM = 100; //正常item - private final int EMPTY_ITEM = 101; //空白item - private OnItemClickListener mClickListener; - private boolean mEdit; - - public BookAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext == null) { - mContext = viewGroup.getContext(); - } - View view; - if (i == VALUE_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book, viewGroup, false); - return new ViewHolder(view); - } else if (i == EMPTY_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_add_book, viewGroup, false); - return new EmptyHolder(view); - } - return null; - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) { - if (viewHolder instanceof ViewHolder) { - if (mEdit) { //编辑模式 - ((ViewHolder) viewHolder).mIvCheck.setSelected(mList.get(i).isSelect()); - ((ViewHolder) viewHolder).mIvCheck.setVisibility(View.VISIBLE); - ((ViewHolder) viewHolder).mTvBookName.setText(mList.get(i).getTitle()); - ((ViewHolder) viewHolder).mTvBookAuthor.setText(mList.get(i).getAuthor()); - if (mList.get(i).isUpdate()) { - ((ViewHolder) viewHolder).mIvGeng.setVisibility(View.VISIBLE); - } else { - ((ViewHolder) viewHolder).mIvGeng.setVisibility(View.GONE); - } - GlideImageLoader.INSTANCE.displayCornerImage(mContext, mList.get(i).getCover(), ((ViewHolder) viewHolder).mIvBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - ((ViewHolder) viewHolder).mIvCheck.setSelected(!mList.get(i).isSelect()); - mList.get(i).setSelect(!mList.get(i).isSelect()); - } - }); - } else { //正常模式 - ((ViewHolder) viewHolder).mIvCheck.setVisibility(View.GONE); - if (mList.size() == i) { //最后的条目 - ((ViewHolder) viewHolder).mTvBookName.setText(""); - ((ViewHolder) viewHolder).mTvBookAuthor.setText(""); - ((ViewHolder) viewHolder).mIvBook.setImageResource(R.drawable.ic_book_add); - ((ViewHolder) viewHolder).mIvGeng.setVisibility(View.GONE); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - mClickListener.onItemClick(view, i); - } - }); - } else { - ((ViewHolder) viewHolder).mTvBookName.setText(mList.get(i).getTitle()); - ((ViewHolder) viewHolder).mTvBookAuthor.setText(mList.get(i).getAuthor()); - if (mList.get(i).isUpdate()) { - ((ViewHolder) viewHolder).mIvGeng.setVisibility(View.VISIBLE); - } else { - ((ViewHolder) viewHolder).mIvGeng.setVisibility(View.GONE); - } - GlideImageLoader.INSTANCE.displayCornerImage(mContext, mList.get(i).getCover(), ((ViewHolder) viewHolder).mIvBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent(mContext, NovelReadActivity.class); - intent.putExtra(NovelReadActivity.EXTRA_IS_COLLECTED, true); - intent.putExtra(NovelReadActivity.EXTRA_COLL_BOOK, mList.get(i)); - mContext.startActivity(intent); - } - }); - } - } - } else if (viewHolder instanceof EmptyHolder) { //空条目 - ((EmptyHolder) viewHolder).mBtnAdd.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - mClickListener.onItemClick(view, i); - } - }); - } - } - - @Override - public int getItemCount() { - if (mList.size() == 0) { - return 1; - } - if (mEdit) { - return mList.size(); - } else { - return mList.size() + 1; - } - } - - @Override - public int getItemViewType(int position) { - if (mList == null || mList.size() == 0) { - return EMPTY_ITEM; - } else { - return VALUE_ITEM; - } - - } - - static class ViewHolder extends RecyclerView.ViewHolder { - ImageView mIvBook; - TextView mTvBookName, mTvBookAuthor; - ImageView mIvCheck; - ImageView mIvGeng; - - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvBook = itemView.findViewById(R.id.iv_book); - mTvBookName = itemView.findViewById(R.id.tv_book_name); - mTvBookAuthor = itemView.findViewById(R.id.tv_book_author); - mIvCheck = itemView.findViewById(R.id.iv_check); - mIvGeng = itemView.findViewById(R.id.iv_geng); - } - } - - static class EmptyHolder extends RecyclerView.ViewHolder { - Button mBtnAdd; - - public EmptyHolder(@NonNull View itemView) { - super(itemView); - mBtnAdd = itemView.findViewById(R.id.btn_add); - } - } - - public void setOnItemClickListener(OnItemClickListener mListener) { - this.mClickListener = mListener; - } - - - public interface OnItemClickListener { - void onItemClick(View view, int pos); - } - - public void setEdit(boolean edit) { //开启编辑模式 - mEdit = edit; - notifyDataSetChanged(); - } - - public List getSelectList() { - List collBookBeans = new ArrayList<>(); - for (int i = 0; i < mList.size(); i++) { - if (mList.get(i).isSelect()) { - collBookBeans.add(mList.get(i)); - } - } - return collBookBeans; - } - -} diff --git a/app/src/main/java/com/novel/read/adapter/BookAdapter.kt b/app/src/main/java/com/novel/read/adapter/BookAdapter.kt new file mode 100644 index 0000000..8c6cb1a --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/BookAdapter.kt @@ -0,0 +1,165 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelReadActivity +import com.novel.read.model.db.CollBookBean +import com.novel.read.utlis.GlideImageLoader + +import java.util.ArrayList + +class BookAdapter(private val mList: List) : RecyclerView.Adapter() { + private var mContext: Context? = null + + private var mClickListener: OnItemClickListener? = null + private var mEdit: Boolean = false + + val selectList: List + get() { + val collBookBeans = ArrayList() + for (i in mList.indices) { + if (mList[i].isSelect) { + collBookBeans.add(mList[i]) + } + } + return collBookBeans + } + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): RecyclerView.ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view: View + if (i == VALUE_ITEM) { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book, viewGroup, false) + return ViewHolder(view) + } else if (i == EMPTY_ITEM) { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_add_book, viewGroup, false) + return EmptyHolder(view) + } + throw IllegalArgumentException() + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + if (mEdit) { //编辑模式 + viewHolder.mIvCheck.isSelected = mList[i].isSelect + viewHolder.mIvCheck.visibility = View.VISIBLE + viewHolder.mTvBookName.text = mList[i].title + viewHolder.mTvBookAuthor.text = mList[i].author + if (mList[i].isUpdate) { + viewHolder.mIvGeng.visibility = View.VISIBLE + } else { + viewHolder.mIvGeng.visibility = View.GONE + } + GlideImageLoader.displayCornerImage(mContext!!, mList[i].cover, viewHolder.mIvBook) + viewHolder.itemView.setOnClickListener { + viewHolder.mIvCheck.isSelected = !mList[i].isSelect + mList[i].isSelect = !mList[i].isSelect + } + } else { //正常模式 + viewHolder.mIvCheck.visibility = View.GONE + if (mList.size == i) { //最后的条目 + viewHolder.mTvBookName.text = "" + viewHolder.mTvBookAuthor.text = "" + viewHolder.mIvBook.setImageResource(R.drawable.ic_book_add) + viewHolder.mIvGeng.visibility = View.GONE + viewHolder.itemView.setOnClickListener { view -> + mClickListener!!.onItemClick( + view, + i + ) + } + } else { + viewHolder.mTvBookName.text = mList[i].title + viewHolder.mTvBookAuthor.text = mList[i].author + if (mList[i].isUpdate) { + viewHolder.mIvGeng.visibility = View.VISIBLE + } else { + viewHolder.mIvGeng.visibility = View.GONE + } + GlideImageLoader.displayCornerImage( + mContext!!, + mList[i].cover, + viewHolder.mIvBook + ) + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelReadActivity::class.java) + intent.putExtra(NovelReadActivity.EXTRA_IS_COLLECTED, true) + intent.putExtra(NovelReadActivity.EXTRA_COLL_BOOK, mList[i]) + mContext!!.startActivity(intent) + } + } + } + } else if (viewHolder is EmptyHolder) { //空条目 + viewHolder.mBtnAdd.setOnClickListener { view -> mClickListener!!.onItemClick(view, i) } + } + } + + override fun getItemCount(): Int { + if (mList.isEmpty()) { + return 1 + } + return if (mEdit) { + mList.size + } else { + mList.size + 1 + } + } + + override fun getItemViewType(position: Int): Int { + return if (mList.isEmpty()) { + EMPTY_ITEM + } else { + VALUE_ITEM + } + + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvBook: ImageView = itemView.findViewById(R.id.iv_book) + var mTvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var mTvBookAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + var mIvCheck: ImageView = itemView.findViewById(R.id.iv_check) + var mIvGeng: ImageView = itemView.findViewById(R.id.iv_geng) + + } + + internal class EmptyHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mBtnAdd: Button = itemView.findViewById(R.id.btn_add) + + } + + fun setOnItemClickListener(mListener: OnItemClickListener) { + this.mClickListener = mListener + } + + + interface OnItemClickListener { + fun onItemClick(view: View, pos: Int) + } + + fun setEdit(edit: Boolean) { //开启编辑模式 + mEdit = edit + notifyDataSetChanged() + } + + + companion object { + + private const val VALUE_ITEM = 100 //正常item + + private const val EMPTY_ITEM = 101 //空白item + + } + +} diff --git a/app/src/main/java/com/novel/read/adapter/BookListAdapter.java b/app/src/main/java/com/novel/read/adapter/BookListAdapter.java deleted file mode 100644 index 1f030f7..0000000 --- a/app/src/main/java/com/novel/read/adapter/BookListAdapter.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.adapter.holder.EmptyHolder; -import com.novel.read.adapter.holder.MoreHolder; -import com.novel.read.constants.Constant; -import com.novel.read.inter.OnLoadMoreListener; -import com.novel.read.model.protocol.SearchResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -import static com.novel.read.constants.Constant.COMMENT_SIZE; - -public class BookListAdapter extends RecyclerView.Adapter { - - - private List mList; - private Context mContext; - private final int VALUE_ITEM = 100; //正常item - private final int EMPTY_ITEM = 101; //空白item - private final int PROCESS_ITEM = 102; - private boolean loadingMore; - private int lastVisibleItem, totalItemCount; - private int visibleThreshold = 1; - private OnLoadMoreListener mOnLoadMoreListener; - - public BookListAdapter(List mList, RecyclerView recyclerView) { - this.mList = mList; - if (recyclerView.getLayoutManager() instanceof LinearLayoutManager) { - final LinearLayoutManager llMangager = (LinearLayoutManager) recyclerView.getLayoutManager(); - recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - super.onScrolled(recyclerView, dx, dy); - totalItemCount = llMangager.getItemCount(); - lastVisibleItem = llMangager.findLastVisibleItemPosition(); - if (!loadingMore && totalItemCount == (lastVisibleItem + visibleThreshold) && totalItemCount >= (COMMENT_SIZE)) { - if (mOnLoadMoreListener != null) { - mOnLoadMoreListener.onLoadMore(); - } - } - } - }); - - } - } - - public void setLoadingMore(boolean loadingMore) { - this.loadingMore = loadingMore; - } - - public boolean isLoadingMore() { - return loadingMore; - } - - public void setOnLoadMoreListener(OnLoadMoreListener listener) { - this.mOnLoadMoreListener = listener; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { - if (mContext == null) { - mContext = viewGroup.getContext(); - } - View view; - if (viewType == VALUE_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_list, viewGroup, false); - return new ViewHolder(view); - } else if (viewType == EMPTY_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_view, viewGroup, false); - return new EmptyHolder(view); - }else if (viewType==PROCESS_ITEM){ - view = LayoutInflater.from(mContext).inflate(R.layout.load_more_layout, viewGroup, false); - return new MoreHolder(view); - } - return null; - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) { - if (viewHolder instanceof ViewHolder){ - SearchResp.BookBean bookBean = mList.get(i); - ((ViewHolder) viewHolder).tvBookName.setText(bookBean.getTitle()); - ((ViewHolder) viewHolder).tvBookAuthor.setText(bookBean.getAuthor()); - ((ViewHolder) viewHolder).tvBookDescription.setText(bookBean.getDescription()); - GlideImageLoader.INSTANCE.displayCornerImage(mContext,bookBean.getCover(),((ViewHolder) viewHolder).ivBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, bookBean.getId()); - mContext.startActivity(intent); - } - }); - } - } - - @Override - public int getItemCount() { - if (mList.size() == 0) { - return 1; - } - return mList.size(); - } - - @Override - public int getItemViewType(int position) { - if (mList == null || mList.size() == 0) { - return EMPTY_ITEM; - } else if (mList.get(position) == null) { - return PROCESS_ITEM; - } else { - return VALUE_ITEM; - } - - } - - static class ViewHolder extends RecyclerView.ViewHolder { - ImageView ivBook; - TextView tvBookName; - TextView tvBookAuthor; - TextView tvBookDescription; - public ViewHolder(@NonNull View itemView) { - super(itemView); - ivBook = itemView.findViewById(R.id.iv_book); - tvBookName = itemView.findViewById(R.id.tv_book_name); - tvBookAuthor = itemView.findViewById(R.id.tv_book_author); - tvBookDescription = itemView.findViewById(R.id.tv_book_description); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/BookListAdapter.kt b/app/src/main/java/com/novel/read/adapter/BookListAdapter.kt new file mode 100644 index 0000000..ea00adf --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/BookListAdapter.kt @@ -0,0 +1,127 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.adapter.holder.EmptyHolder +import com.novel.read.adapter.holder.MoreHolder +import com.novel.read.constants.Constant +import com.novel.read.constants.Constant.COMMENT_SIZE +import com.novel.read.inter.OnLoadMoreListener +import com.novel.read.model.protocol.SearchResp +import com.novel.read.utlis.GlideImageLoader +import io.github.lizhangqu.coreprogress.ProgressHelper + +class BookListAdapter(private val mList: List, recyclerView: RecyclerView) : RecyclerView.Adapter() { + private var mContext: Context? = null + + var isLoadingMore: Boolean = false + private var lastVisibleItem: Int = 0 + private var totalItemCount: Int = 0 + private val visibleThreshold = 1 + private var mOnLoadMoreListener: OnLoadMoreListener? = null + + init { + if (recyclerView.layoutManager is LinearLayoutManager) { + val llMangager = recyclerView.layoutManager as LinearLayoutManager? + recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + super.onScrolled(recyclerView, dx, dy) + totalItemCount = llMangager!!.itemCount + lastVisibleItem = llMangager.findLastVisibleItemPosition() + if (!isLoadingMore && totalItemCount == lastVisibleItem + visibleThreshold && totalItemCount >= COMMENT_SIZE) { + if (mOnLoadMoreListener != null) { + mOnLoadMoreListener!!.onLoadMore() + } + } + } + }) + + } + } + + fun setOnLoadMoreListener(listener: OnLoadMoreListener) { + this.mOnLoadMoreListener = listener + } + + override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view: View + return when (viewType) { + VALUE_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_list, viewGroup, false) + ViewHolder(view) + } + EMPTY_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_view, viewGroup, false) + EmptyHolder(view) + } + PROCESS_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.load_more_layout, viewGroup, false) + MoreHolder(view) + } + else -> throw IllegalArgumentException() + } + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + val bookBean = mList[i] + viewHolder.tvBookName.text = bookBean.title + viewHolder.tvBookAuthor.text = bookBean.author + viewHolder.tvBookDescription.text = bookBean.description + GlideImageLoader.displayCornerImage(mContext!!, bookBean.cover!!, viewHolder.ivBook) + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, bookBean.id) + mContext!!.startActivity(intent) + } + }else if (viewHolder is MoreHolder){ + viewHolder.bindModule(isLoadingMore) + } + } + + override fun getItemCount(): Int { + return if (mList.isEmpty()) { + 1 + } else mList.size + 1 + } + + override fun getItemViewType(position: Int): Int { + if (position == itemCount - 1) { + return PROCESS_ITEM + } + return when { + mList.isEmpty() -> EMPTY_ITEM + else -> VALUE_ITEM + } + + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var ivBook: ImageView = itemView.findViewById(R.id.iv_book) + var tvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var tvBookAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + var tvBookDescription: TextView = itemView.findViewById(R.id.tv_book_description) + } + + companion object { + + private const val VALUE_ITEM = 100 //正常item + + private const val EMPTY_ITEM = 101 //空白item + + private const val PROCESS_ITEM = 102 + } + +} diff --git a/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.java b/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.java deleted file mode 100644 index 2fb6c86..0000000 --- a/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.constants.Constant; -import com.novel.read.model.protocol.RecommendListResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -/** - * create by zlj on 2019/6/19 - * describe: - */ -public class EditRecommendAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - public EditRecommendAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.rlv_edit_recommend_item, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) { - RecommendListResp.ListBean listBean = mList.get(i); - viewHolder.mTvBookName.setText(listBean.getBook_title()); - viewHolder.mTvAuthor.setText(listBean.getAuthor()); - viewHolder.mTvDescription.setText(listBean.getDescription()); - viewHolder.mTvHumanNum.setText(listBean.getHot()); - viewHolder.mTvLoveNum.setText(listBean.getLike()); - GlideImageLoader.INSTANCE.displayCornerImage(mContext,listBean.getBook_cover(),viewHolder.mIvBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, listBean.getBook_id()); - mContext.startActivity(intent); - } - }); - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - ImageView mIvBook; - TextView mTvBookName; - TextView mTvAuthor; - TextView mTvDescription; - TextView mTvHumanNum; - TextView mTvLoveNum; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvBook = itemView.findViewById(R.id.iv_book); - mTvBookName = itemView.findViewById(R.id.tv_book_name); - mTvAuthor = itemView.findViewById(R.id.tv_book_author); - mTvDescription = itemView.findViewById(R.id.tv_book_description); - mTvHumanNum = itemView.findViewById(R.id.tv_human_num); - mTvLoveNum = itemView.findViewById(R.id.tv_love_look_num); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.kt b/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.kt new file mode 100644 index 0000000..7b41eb9 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/EditRecommendAdapter.kt @@ -0,0 +1,62 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.constants.Constant +import com.novel.read.model.protocol.RecommendListResp +import com.novel.read.utlis.GlideImageLoader + +/** + * create by zlj on 2019/6/19 + * describe: + */ +class EditRecommendAdapter(private val mList: List) : RecyclerView.Adapter() { + + private var mContext: Context? = null + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext) + .inflate(R.layout.rlv_edit_recommend_item, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) { + val listBean = mList[i] + viewHolder.mTvBookName.text = listBean.book_title + viewHolder.mTvAuthor.text = listBean.author + viewHolder.mTvDescription.text = listBean.description + viewHolder.mTvHumanNum.text = listBean.getHot() + viewHolder.mTvLoveNum.text = listBean.getLike() + GlideImageLoader.displayCornerImage(mContext!!, listBean.book_cover!!, viewHolder.mIvBook) + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, listBean.book_id) + mContext!!.startActivity(intent) + } + } + + override fun getItemCount(): Int { + return mList.size + } + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvBook: ImageView = itemView.findViewById(R.id.iv_book) + var mTvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var mTvAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + var mTvDescription: TextView = itemView.findViewById(R.id.tv_book_description) + var mTvHumanNum: TextView = itemView.findViewById(R.id.tv_human_num) + var mTvLoveNum: TextView = itemView.findViewById(R.id.tv_love_look_num) + } +} diff --git a/app/src/main/java/com/novel/read/adapter/HistoryAdapter.java b/app/src/main/java/com/novel/read/adapter/HistoryAdapter.java deleted file mode 100644 index 90b854a..0000000 --- a/app/src/main/java/com/novel/read/adapter/HistoryAdapter.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.model.db.SearchListTable; - -import java.util.List; - -/** - * create by zlj on 2019/6/17 - * describe: - */ -public class HistoryAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - protected OnItemClickListener mClickListener; - - public HistoryAdapter(List mList) { - this.mList = mList; - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - - TextView mTvLabel; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mTvLabel = itemView.findViewById(R.id.tv_label); - } - } - - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext == null) { - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.item_label, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) { - viewHolder.mTvLabel.setText(mList.get(i).getKey()); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - mClickListener.onItemClick(view,i); - } - }); - } - - - @Override - public int getItemCount() { - return mList.size(); - } - - - public void setOnItemClickListener(OnItemClickListener mListener) { - this.mClickListener = mListener; - } - - - public interface OnItemClickListener{ - void onItemClick(View view, int pos); - } -} diff --git a/app/src/main/java/com/novel/read/adapter/HistoryAdapter.kt b/app/src/main/java/com/novel/read/adapter/HistoryAdapter.kt new file mode 100644 index 0000000..b3fb85f --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/HistoryAdapter.kt @@ -0,0 +1,54 @@ +package com.novel.read.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.model.db.SearchListTable + +/** + * create by zlj on 2019/6/17 + * describe: + */ +class HistoryAdapter(private val mList: List) : + RecyclerView.Adapter() { + private var mContext: Context? = null + + private lateinit var mClickListener: OnItemClickListener + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mTvLabel: TextView = itemView.findViewById(R.id.tv_label) + } + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext).inflate(R.layout.item_label, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) { + viewHolder.mTvLabel.text = mList[i].key + viewHolder.itemView.setOnClickListener { view -> mClickListener.onItemClick(view, i) } + } + + + override fun getItemCount(): Int { + return mList.size + } + + + fun setOnItemClickListener(mListener: OnItemClickListener) { + this.mClickListener = mListener + } + + + interface OnItemClickListener { + fun onItemClick(view: View, pos: Int) + } +} diff --git a/app/src/main/java/com/novel/read/adapter/HotAdapter.java b/app/src/main/java/com/novel/read/adapter/HotAdapter.java deleted file mode 100644 index 8c42b38..0000000 --- a/app/src/main/java/com/novel/read/adapter/HotAdapter.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.constants.Constant; - -import java.util.List; - -/** - * create by 赵利君 on 2019/6/17 - * describe: - */ -public class HotAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - protected OnItemClickListener mClickListener; - - public HotAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.item_label, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) { - viewHolder.mTvLabel.setText(mList.get(i)); - viewHolder.mTvLabel.setBackgroundColor(Constant.tagColors[i]); - viewHolder.itemView.setOnClickListener(view -> mClickListener.onItemClick(view,i)); - - } - - @Override - public int getItemCount() { - if (mList.size()>8){ - return 8; - } - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - TextView mTvLabel; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mTvLabel = itemView.findViewById(R.id.tv_label); - } - } - - public void setOnItemClickListener(OnItemClickListener mListener) { - this.mClickListener = mListener; - } - - - public interface OnItemClickListener{ - void onItemClick(View view, int pos); - } -} diff --git a/app/src/main/java/com/novel/read/adapter/HotAdapter.kt b/app/src/main/java/com/novel/read/adapter/HotAdapter.kt new file mode 100644 index 0000000..43fe3fa --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/HotAdapter.kt @@ -0,0 +1,54 @@ +package com.novel.read.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.constants.Constant + +/** + * create by 赵利君 on 2019/6/17 + * describe: + */ +class HotAdapter(private val mList: List) : RecyclerView.Adapter() { + private var mContext: Context? = null + private lateinit var mClickListener: OnItemClickListener + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext).inflate(R.layout.item_label, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) { + viewHolder.mTvLabel.text = mList[i] + viewHolder.mTvLabel.setBackgroundColor(Constant.tagColors[i]) + viewHolder.itemView.setOnClickListener { view -> mClickListener.onItemClick(view, i) } + + } + + override fun getItemCount(): Int { + return if (mList.size > 8) { + 8 + } else mList.size + } + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mTvLabel: TextView = itemView.findViewById(R.id.tv_label) + } + + fun setOnItemClickListener(mListener: OnItemClickListener) { + this.mClickListener = mListener + } + + + interface OnItemClickListener { + fun onItemClick(view: View, pos: Int) + } +} diff --git a/app/src/main/java/com/novel/read/adapter/HumanAdapter.java b/app/src/main/java/com/novel/read/adapter/HumanAdapter.java deleted file mode 100644 index 29da932..0000000 --- a/app/src/main/java/com/novel/read/adapter/HumanAdapter.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.constants.Constant; -import com.novel.read.model.protocol.RecommendListResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -/** - * create by zlj on 2019/6/19 - * describe: - */ -public class HumanAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - public HumanAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.rlv_human_item, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) { - viewHolder.mTvBookName.setText(mList.get(i).getBook_title()); - viewHolder.mTvAuthor.setText(mList.get(i).getAuthor()); - GlideImageLoader.INSTANCE.displayCornerImage(mContext,mList.get(i).getBook_cover(),viewHolder.mIvBook); - viewHolder.itemView.setOnClickListener(view -> { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, mList.get(i).getBook_id()); - mContext.startActivity(intent); - }); - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - ImageView mIvBook; - TextView mTvBookName; - TextView mTvAuthor; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvBook = itemView.findViewById(R.id.iv_book); - mTvBookName = itemView.findViewById(R.id.tv_book_name); - mTvAuthor = itemView.findViewById(R.id.tv_book_author); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/HumanAdapter.kt b/app/src/main/java/com/novel/read/adapter/HumanAdapter.kt new file mode 100644 index 0000000..9ba18ff --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/HumanAdapter.kt @@ -0,0 +1,55 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.constants.Constant +import com.novel.read.model.protocol.RecommendListResp +import com.novel.read.utlis.GlideImageLoader + +/** + * create by zlj on 2019/6/19 + * describe: + */ +class HumanAdapter(private val mList: List) : RecyclerView.Adapter() { + private var mContext: Context? = null + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext).inflate(R.layout.rlv_human_item, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) { + viewHolder.mTvBookName.text = mList[i].book_title + viewHolder.mTvAuthor.text = mList[i].author + GlideImageLoader.displayCornerImage(mContext!!, mList[i].book_cover!!, viewHolder.mIvBook) + viewHolder.itemView.setOnClickListener { view -> + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, mList[i].book_id) + mContext!!.startActivity(intent) + } + } + + override fun getItemCount(): Int { + return mList.size + } + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvBook: ImageView = itemView.findViewById(R.id.iv_book) + var mTvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var mTvAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + + } +} diff --git a/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.java b/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.java deleted file mode 100644 index 89d9b82..0000000 --- a/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.constants.Constant; -import com.novel.read.model.protocol.RecommendBookResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -/** - * 猜你喜欢adapter - */ -public class LoveLyAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - - public LoveLyAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view; - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_lovely, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) { - if (viewHolder instanceof ViewHolder) { - RecommendBookResp.BookBean bookBean = mList.get(i); - GlideImageLoader.INSTANCE.displayCornerImage(mContext, bookBean.getCover(), ((ViewHolder) viewHolder).mIvBook); - ((ViewHolder) viewHolder).mTvBookName.setText(bookBean.getTitle()); - ((ViewHolder) viewHolder).mTvBookAuthor.setText(mContext.getString(R.string.author_zhu,bookBean.getAuthor())); - ((ViewHolder) viewHolder).mTvDescription.setText(bookBean.getDescription()); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, bookBean.getId()); - mContext.startActivity(intent); - } - }); - } - } - - @Override - public int getItemCount() { - return mList.size(); - } - static class ViewHolder extends RecyclerView.ViewHolder{ - ImageView mIvBook; - TextView mTvBookName; - TextView mTvBookAuthor; - TextView mTvDescription; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvBook = itemView.findViewById(R.id.iv_book); - mTvBookName = itemView.findViewById(R.id.tv_book_name); - mTvBookAuthor = itemView.findViewById(R.id.tv_book_author); - mTvDescription = itemView.findViewById(R.id.tv_book_description); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.kt b/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.kt new file mode 100644 index 0000000..6999f79 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/LoveLyAdapter.kt @@ -0,0 +1,59 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.constants.Constant +import com.novel.read.model.protocol.RecommendBookResp +import com.novel.read.utlis.GlideImageLoader + +/** + * 猜你喜欢adapter + */ +class LoveLyAdapter(private val mList: List) : RecyclerView.Adapter() { + + private var mContext: Context? = null + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): RecyclerView.ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view: View = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_lovely, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + val bookBean = mList[i] + GlideImageLoader.displayCornerImage(mContext!!, bookBean.cover!!, viewHolder.mIvBook) + viewHolder.mTvBookName.text = bookBean.title + viewHolder.mTvBookAuthor.text = + mContext!!.getString(R.string.author_zhu, bookBean.author) + viewHolder.mTvDescription.text = bookBean.description + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, bookBean.id) + mContext!!.startActivity(intent) + } + } + } + + override fun getItemCount(): Int { + return mList.size + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvBook: ImageView = itemView.findViewById(R.id.iv_book) + var mTvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var mTvBookAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + var mTvDescription: TextView = itemView.findViewById(R.id.tv_book_description) + } +} diff --git a/app/src/main/java/com/novel/read/adapter/MarkAdapter.java b/app/src/main/java/com/novel/read/adapter/MarkAdapter.java deleted file mode 100644 index fceb590..0000000 --- a/app/src/main/java/com/novel/read/adapter/MarkAdapter.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.model.db.BookSignTable; -import com.novel.read.model.protocol.MarkResp; - -import java.util.List; - -public class MarkAdapter extends RecyclerView.Adapter{ - - private Context mContext; - private List mList; - private boolean edit; - - public MarkAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view; - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_mark, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) { - if (viewHolder instanceof ViewHolder){ - if (edit){ - ((ViewHolder) viewHolder).mCheck.setVisibility(View.VISIBLE); - ((ViewHolder) viewHolder).mCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton compoundButton, boolean b) { - mList.get(i).setEdit(b); - } - }); - }else { - ((ViewHolder) viewHolder).mCheck.setVisibility(View.GONE); - } - ((ViewHolder) viewHolder).mTvMark.setText(mList.get(i).getContent()); - ((ViewHolder) viewHolder).mCheck.setChecked(mList.get(i).getEdit()); - } - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - TextView mTvMark; - CheckBox mCheck; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mTvMark = itemView.findViewById(R.id.tvMarkItem); - mCheck = itemView.findViewById(R.id.checkbox); - } - } - - public void setEdit(boolean edit){ - this.edit = edit; - notifyDataSetChanged(); - } - - public boolean getEdit(){ - return edit; - } - - - public String getSelectList() { - StringBuilder signs = new StringBuilder(); - for (int i = 0; i < mList.size(); i++) { - if (mList.get(i).getEdit()) { - if (signs.toString().equals("")){ - signs.append(mList.get(i).getArticleId()); - }else { - signs.append(",").append(mList.get(i).getArticleId()); - } - } - } - return String.valueOf(signs); - } -} diff --git a/app/src/main/java/com/novel/read/adapter/MarkAdapter.kt b/app/src/main/java/com/novel/read/adapter/MarkAdapter.kt new file mode 100644 index 0000000..c1e176e --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/MarkAdapter.kt @@ -0,0 +1,71 @@ +package com.novel.read.adapter + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.CheckBox +import android.widget.CompoundButton +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.model.db.BookSignTable +import com.novel.read.model.protocol.MarkResp + +class MarkAdapter(private val mList: List) : RecyclerView.Adapter() { + + private var mContext: Context? = null + var edit: Boolean = false + set(edit) { + field = edit + notifyDataSetChanged() + } + + val selectList: String + get() { + val signs = StringBuilder() + for (i in mList.indices) { + if (mList[i].edit) { + if (signs.toString() == "") { + signs.append(mList[i].articleId) + } else { + signs.append(",").append(mList[i].articleId) + } + } + } + return signs.toString() + } + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): RecyclerView.ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view: View = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_mark, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + if (this.edit) { + viewHolder.mCheck.visibility = View.VISIBLE + viewHolder.mCheck.setOnCheckedChangeListener { compoundButton, b -> + mList[i].edit = b + } + } else { + viewHolder.mCheck.visibility = View.GONE + } + viewHolder.mTvMark.text = mList[i].content + viewHolder.mCheck.isChecked = mList[i].edit + } + } + + override fun getItemCount(): Int { + return mList.size + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mTvMark: TextView = itemView.findViewById(R.id.tvMarkItem) + var mCheck: CheckBox = itemView.findViewById(R.id.checkbox) + } +} diff --git a/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.java b/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.java deleted file mode 100644 index ab8a87f..0000000 --- a/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.graphics.drawable.Drawable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; -import com.mango.mangolib.event.EventManager; -import com.novel.read.R; -import com.novel.read.widget.page.PageLoader; -import com.novel.read.widget.page.PageStyle; - -import java.util.List; - -public class PageStyleAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - private int currentChecked; - private PageLoader mPageLoader; - public PageStyleAdapter(List mList, PageLoader mPageLoader) { - this.mList = mList; - this.mPageLoader = mPageLoader; - } - - @NonNull - @Override - public PageHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.item_read_bg, viewGroup, false); - return new PageHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull PageHolder pageHolder, int i) { - pageHolder.mReadBg.setBackground(mList.get(i)); - pageHolder.mIvChecked.setVisibility(View.GONE); - if (currentChecked == i){ - pageHolder.mIvChecked.setVisibility(View.VISIBLE); - } - pageHolder.itemView.setOnClickListener(view -> { - currentChecked = i; - notifyDataSetChanged(); - mPageLoader.setPageStyle(PageStyle.values()[i]); - }); - } - - public void setPageStyleChecked(PageStyle pageStyle){ - currentChecked = pageStyle.ordinal(); - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class PageHolder extends RecyclerView.ViewHolder{ - private View mReadBg; - private ImageView mIvChecked; - public PageHolder(@NonNull View itemView) { - super(itemView); - mReadBg = itemView.findViewById(R.id.read_bg_view); - mIvChecked = itemView.findViewById(R.id.read_bg_iv_checked); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.kt b/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.kt new file mode 100644 index 0000000..7c63254 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/PageStyleAdapter.kt @@ -0,0 +1,54 @@ +package com.novel.read.adapter + +import android.content.Context +import android.graphics.drawable.Drawable +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import androidx.recyclerview.widget.RecyclerView +import com.mango.mangolib.event.EventManager +import com.novel.read.R +import com.novel.read.widget.page.PageLoader +import com.novel.read.widget.page.PageStyle + +class PageStyleAdapter(val mList: List, private val mPageLoader: PageLoader) : + RecyclerView.Adapter() { + private var mContext: Context? = null + private var currentChecked: Int = 0 + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): PageHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext).inflate(R.layout.item_read_bg, viewGroup, false) + return PageHolder(view) + } + + override fun onBindViewHolder(pageHolder: PageHolder, i: Int) { + pageHolder.mReadBg.background = mList[i] + pageHolder.mIvChecked.visibility = View.GONE + if (currentChecked == i) { + pageHolder.mIvChecked.visibility = View.VISIBLE + } + pageHolder.itemView.setOnClickListener { + currentChecked = i + notifyDataSetChanged() + mPageLoader.setPageStyle(PageStyle.values()[i]) + } + } + + fun setPageStyleChecked(pageStyle: PageStyle) { + currentChecked = pageStyle.ordinal + } + + override fun getItemCount(): Int { + return mList.size + } + + class PageHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val mReadBg: View = itemView.findViewById(R.id.read_bg_view) + val mIvChecked: ImageView = itemView.findViewById(R.id.read_bg_iv_checked) + + } +} diff --git a/app/src/main/java/com/novel/read/adapter/RankAdapter.java b/app/src/main/java/com/novel/read/adapter/RankAdapter.java deleted file mode 100644 index bc6c18a..0000000 --- a/app/src/main/java/com/novel/read/adapter/RankAdapter.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.constants.Constant; -import com.novel.read.model.protocol.RecommendListResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -/** - * create by 赵利君 on 2019/6/20 - * describe: - */ -public class RankAdapter extends RecyclerView.Adapter{ - - private List mList; - private Context mContext; - public RankAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext==null){ - mContext = viewGroup.getContext(); - } - View view = LayoutInflater.from(mContext).inflate(R.layout.rlv_human_item, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) { - viewHolder.mTvBookName.setText(mList.get(i).getBook_title()); - viewHolder.mTvAuthor.setText(mList.get(i).getAuthor()); - GlideImageLoader.INSTANCE.displayCornerImage(mContext,mList.get(i).getBook_cover(),viewHolder.mIvBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, mList.get(i).getBook_id()); - mContext.startActivity(intent); - } - }); - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder{ - ImageView mIvBook; - TextView mTvBookName; - TextView mTvAuthor; - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvBook = itemView.findViewById(R.id.iv_book); - mTvBookName = itemView.findViewById(R.id.tv_book_name); - mTvAuthor = itemView.findViewById(R.id.tv_book_author); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/RankAdapter.kt b/app/src/main/java/com/novel/read/adapter/RankAdapter.kt new file mode 100644 index 0000000..df33195 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/RankAdapter.kt @@ -0,0 +1,55 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.constants.Constant +import com.novel.read.model.protocol.RecommendListResp +import com.novel.read.utlis.GlideImageLoader + +/** + * create by zlj on 2019/6/20 + * describe: + */ +class RankAdapter(private val mList: List) : RecyclerView.Adapter() { + private var mContext: Context? = null + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view = LayoutInflater.from(mContext).inflate(R.layout.rlv_human_item, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) { + viewHolder.mTvBookName.text = mList[i].book_title + viewHolder.mTvAuthor.text = mList[i].author + GlideImageLoader.displayCornerImage(mContext!!, mList[i].book_cover!!, viewHolder.mIvBook) + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, mList[i].book_id) + mContext!!.startActivity(intent) + } + } + + override fun getItemCount(): Int { + return mList.size + } + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvBook: ImageView = itemView.findViewById(R.id.iv_book) + var mTvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var mTvAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + + } +} diff --git a/app/src/main/java/com/novel/read/adapter/RankListAdapter.java b/app/src/main/java/com/novel/read/adapter/RankListAdapter.java deleted file mode 100644 index d0060d6..0000000 --- a/app/src/main/java/com/novel/read/adapter/RankListAdapter.java +++ /dev/null @@ -1,146 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookDetailActivity; -import com.novel.read.adapter.holder.EmptyHolder; -import com.novel.read.adapter.holder.MoreHolder; -import com.novel.read.constants.Constant; -import com.novel.read.inter.OnLoadMoreListener; -import com.novel.read.model.protocol.RankByUpdateResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; -import static com.novel.read.constants.Constant.COMMENT_SIZE; - -public class RankListAdapter extends RecyclerView.Adapter { - - - private List mList; - private Context mContext; - private final int VALUE_ITEM = 100; //正常item - private final int EMPTY_ITEM = 101; //空白item - - private final int PROCESS_ITEM = 102; - private boolean loadingMore; - private int lastVisibleItem, totalItemCount; - private int visibleThreshold = 1; - private OnLoadMoreListener mOnLoadMoreListener; - - public RankListAdapter(List mList, RecyclerView recyclerView) { - this.mList = mList; - if (recyclerView.getLayoutManager() instanceof LinearLayoutManager) { - final LinearLayoutManager llMangager = (LinearLayoutManager) recyclerView.getLayoutManager(); - recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - super.onScrolled(recyclerView, dx, dy); - totalItemCount = llMangager.getItemCount(); - lastVisibleItem = llMangager.findLastVisibleItemPosition(); - if (!loadingMore && totalItemCount == (lastVisibleItem + visibleThreshold) && totalItemCount >= (COMMENT_SIZE)) { - if (mOnLoadMoreListener != null) { - mOnLoadMoreListener.onLoadMore(); - } - } - } - }); - - } - } - - public void setLoadingMore(boolean loadingMore) { - this.loadingMore = loadingMore; - } - - public boolean isLoadingMore() { - return loadingMore; - } - - public void setOnLoadMoreListener(OnLoadMoreListener listener) { - this.mOnLoadMoreListener = listener; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { - if (mContext == null) { - mContext = viewGroup.getContext(); - } - View view; - if (viewType == VALUE_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_list, viewGroup, false); - return new ViewHolder(view); - } else if (viewType == EMPTY_ITEM) { - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_view, viewGroup, false); - return new EmptyHolder(view); - }else if (viewType==PROCESS_ITEM){ - view = LayoutInflater.from(mContext).inflate(R.layout.load_more_layout, viewGroup, false); - return new MoreHolder(view); - } - return null; - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) { - if (viewHolder instanceof ViewHolder){ - RankByUpdateResp.BookBean bookBean = mList.get(i); - ((ViewHolder) viewHolder).tvBookName.setText(bookBean.getTitle()); - ((ViewHolder) viewHolder).tvBookAuthor.setText(bookBean.getAuthor()); - ((ViewHolder) viewHolder).tvBookDescription.setText(bookBean.getDescription()); - GlideImageLoader.INSTANCE.displayCornerImage(mContext,bookBean.getCover(),((ViewHolder) viewHolder).ivBook); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent=new Intent(mContext, NovelBookDetailActivity.class); - intent.putExtra(Constant.Bundle.BookId, bookBean.getId()); - mContext.startActivity(intent); - } - }); - } - } - - @Override - public int getItemCount() { - if (mList.size() == 0) { - return 1; - } - return mList.size(); - } - - @Override - public int getItemViewType(int position) { - if (mList == null || mList.size() == 0) { - return EMPTY_ITEM; - } else if (mList.get(position).getId() == 0) { - return PROCESS_ITEM; - } else { - return VALUE_ITEM; - } - - } - - static class ViewHolder extends RecyclerView.ViewHolder { - ImageView ivBook; - TextView tvBookName; - TextView tvBookAuthor; - TextView tvBookDescription; - public ViewHolder(@NonNull View itemView) { - super(itemView); - ivBook = itemView.findViewById(R.id.iv_book); - tvBookName = itemView.findViewById(R.id.tv_book_name); - tvBookAuthor = itemView.findViewById(R.id.tv_book_author); - tvBookDescription = itemView.findViewById(R.id.tv_book_description); - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/RankListAdapter.kt b/app/src/main/java/com/novel/read/adapter/RankListAdapter.kt new file mode 100644 index 0000000..e56f6e3 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/RankListAdapter.kt @@ -0,0 +1,126 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookDetailActivity +import com.novel.read.adapter.holder.EmptyHolder +import com.novel.read.adapter.holder.MoreHolder +import com.novel.read.constants.Constant +import com.novel.read.inter.OnLoadMoreListener +import com.novel.read.model.protocol.RankByUpdateResp +import com.novel.read.utlis.GlideImageLoader +import com.novel.read.constants.Constant.COMMENT_SIZE + +class RankListAdapter( val mList: List, recyclerView: RecyclerView) : RecyclerView.Adapter() { + + private lateinit var mContext: Context + var isLoadingMore: Boolean = false + private var lastVisibleItem: Int = 0 + private var totalItemCount: Int = 0 + private val visibleThreshold = 1 + private var mOnLoadMoreListener: OnLoadMoreListener? = null + + init { + if (recyclerView.layoutManager is LinearLayoutManager) { + val llMangager = recyclerView.layoutManager as LinearLayoutManager? + recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + super.onScrolled(recyclerView, dx, dy) + totalItemCount = llMangager!!.itemCount + lastVisibleItem = llMangager.findLastVisibleItemPosition() + if (!isLoadingMore && totalItemCount == lastVisibleItem + visibleThreshold && totalItemCount >= COMMENT_SIZE) { + if (mOnLoadMoreListener != null) { + mOnLoadMoreListener!!.onLoadMore() + } + } + } + }) + + } + } + + fun setOnLoadMoreListener(listener: OnLoadMoreListener) { + this.mOnLoadMoreListener = listener + } + + override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + mContext = viewGroup.context + + val view: View + when (viewType) { + VALUE_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_list, viewGroup, false) + return ViewHolder(view) + } + EMPTY_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.rlv_empty_view, viewGroup, false) + return EmptyHolder(view) + } + PROCESS_ITEM -> { + view = LayoutInflater.from(mContext).inflate(R.layout.load_more_layout, viewGroup, false) + return MoreHolder(view) + } + } + throw IllegalArgumentException() + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + val bookBean = mList[i] + viewHolder.tvBookName.text = bookBean.title + viewHolder.tvBookAuthor.text = bookBean.author + viewHolder.tvBookDescription.text = bookBean.description + GlideImageLoader.displayCornerImage(mContext, bookBean.cover, viewHolder.ivBook) + viewHolder.itemView.setOnClickListener { + val intent = Intent(mContext, NovelBookDetailActivity::class.java) + intent.putExtra(Constant.Bundle.BookId, bookBean.id) + mContext.startActivity(intent) + } + }else if (viewHolder is MoreHolder){ + viewHolder.bindModule(isLoadingMore) + } + } + + override fun getItemCount(): Int { + return if (mList.isEmpty()) { + 1 + } else mList.size + 1 + } + + override fun getItemViewType(position: Int): Int { + if (position == itemCount - 1) { + return PROCESS_ITEM + } + return when { + mList.isEmpty() -> EMPTY_ITEM + else -> VALUE_ITEM + } + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var ivBook: ImageView = itemView.findViewById(R.id.iv_book) + var tvBookName: TextView = itemView.findViewById(R.id.tv_book_name) + var tvBookAuthor: TextView = itemView.findViewById(R.id.tv_book_author) + var tvBookDescription: TextView = itemView.findViewById(R.id.tv_book_description) + + } + + companion object { + + private const val VALUE_ITEM = 100 //正常item + + private const val EMPTY_ITEM = 101 //空白item + + private const val PROCESS_ITEM = 102 + } + +} diff --git a/app/src/main/java/com/novel/read/adapter/SearchAdapter.java b/app/src/main/java/com/novel/read/adapter/SearchAdapter.java index 7260ef8..68408c0 100644 --- a/app/src/main/java/com/novel/read/adapter/SearchAdapter.java +++ b/app/src/main/java/com/novel/read/adapter/SearchAdapter.java @@ -32,7 +32,7 @@ public class SearchAdapter extends RecyclerView.Adapter { private final int BOOK_ITEM = 102; //书本item private final int EMPTY_ITEM = 101; //空白item private boolean book = false; - protected OnItemClickListener mClickListener; + private OnItemClickListener mClickListener; private final int PROCESS_ITEM = 103; //加载更多 private boolean loadingMore; diff --git a/app/src/main/java/com/novel/read/adapter/StackAdapter.java b/app/src/main/java/com/novel/read/adapter/StackAdapter.java deleted file mode 100644 index 78eafaf..0000000 --- a/app/src/main/java/com/novel/read/adapter/StackAdapter.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.novel.read.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.novel.read.R; -import com.novel.read.activity.NovelBookTypeListActivity; -import com.novel.read.constants.Constant; -import com.novel.read.model.protocol.CategoryTypeResp; -import com.novel.read.utlis.GlideImageLoader; - -import java.util.List; - -public class StackAdapter extends RecyclerView.Adapter { - - private List mList; - private Context mContext; - - public StackAdapter(List mList) { - this.mList = mList; - } - - @NonNull - @Override - public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { - if (mContext == null) { - mContext = viewGroup.getContext(); - } - View view; - view = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_type, viewGroup, false); - return new ViewHolder(view); - } - - @Override - public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, final int i) { - if (viewHolder instanceof ViewHolder) { - - String input = mList.get(i).getTitle(); - String regex = "(.{2})"; - input = input.replaceAll(regex, "$1\n"); - ((ViewHolder) viewHolder).mTvType.setText(input); - viewHolder.itemView.setOnClickListener(view -> { - Intent intent = new Intent(mContext, NovelBookTypeListActivity.class); - intent.putExtra(Constant.Bundle.CategoryId, String.valueOf(mList.get(i).getId())); - intent.putExtra(Constant.Bundle.mTitle, mList.get(i).getTitle()); - mContext.startActivity(intent); - }); - GlideImageLoader.INSTANCE.displayCornerImage(mContext, mList.get(i).getCover(), ((ViewHolder) viewHolder).mIvType, R.drawable.ic_type_default); - } - } - - @Override - public int getItemCount() { - return mList.size(); - } - - static class ViewHolder extends RecyclerView.ViewHolder { - ImageView mIvType; - TextView mTvType; - - public ViewHolder(@NonNull View itemView) { - super(itemView); - mIvType = itemView.findViewById(R.id.iv_book); - mTvType = itemView.findViewById(R.id.tv_book_name); - - } - } -} diff --git a/app/src/main/java/com/novel/read/adapter/StackAdapter.kt b/app/src/main/java/com/novel/read/adapter/StackAdapter.kt new file mode 100644 index 0000000..b4475f4 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/StackAdapter.kt @@ -0,0 +1,61 @@ +package com.novel.read.adapter + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R +import com.novel.read.activity.NovelBookTypeListActivity +import com.novel.read.constants.Constant +import com.novel.read.model.protocol.CategoryTypeResp +import com.novel.read.utlis.GlideImageLoader + +class StackAdapter(private val mList: List) : RecyclerView.Adapter() { + + private var mContext: Context? = null + + override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): RecyclerView.ViewHolder { + if (mContext == null) { + mContext = viewGroup.context + } + val view: View = LayoutInflater.from(mContext).inflate(R.layout.rlv_item_book_type, viewGroup, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(viewHolder: RecyclerView.ViewHolder, i: Int) { + if (viewHolder is ViewHolder) { + + var input = mList[i].title + val regex = "(.{2})" + input = input.replace(regex.toRegex(), "$1\n") + viewHolder.mTvType.text = input + viewHolder.itemView.setOnClickListener { view -> + val intent = Intent(mContext, NovelBookTypeListActivity::class.java) + intent.putExtra(Constant.Bundle.CategoryId, mList[i].id.toString()) + intent.putExtra(Constant.Bundle.mTitle, mList[i].title) + mContext!!.startActivity(intent) + } + GlideImageLoader.displayCornerImage( + mContext!!, + mList[i].cover!!, + viewHolder.mIvType, + R.drawable.ic_type_default + ) + } + } + + override fun getItemCount(): Int { + return mList.size + } + + internal class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + var mIvType: ImageView = itemView.findViewById(R.id.iv_book) + var mTvType: TextView = itemView.findViewById(R.id.tv_book_name) + + } +} diff --git a/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.java b/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.java deleted file mode 100644 index 63ce2ee..0000000 --- a/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.novel.read.adapter; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; - -import java.util.List; - -/** - * Created by Administrator on 2017/2/24. - */ - -public class ViewPageAdapter extends FragmentPagerAdapter { - private List fragmentList; - - public ViewPageAdapter(FragmentManager fm, List fragmentList) { - super(fm); - this.fragmentList = fragmentList; - } - - @Override - public Fragment getItem(int position) { - return fragmentList.get(position); - } - - @Override - public int getCount() { - return fragmentList.size(); - } - -} diff --git a/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.kt b/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.kt new file mode 100644 index 0000000..dd4d2f7 --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/ViewPageAdapter.kt @@ -0,0 +1,22 @@ +package com.novel.read.adapter + +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentPagerAdapter + +/** + * Created by Administrator on 2017/2/24. + */ + +class ViewPageAdapter(fm: FragmentManager, private val fragmentList: List) : + FragmentPagerAdapter(fm) { + + override fun getItem(position: Int): Fragment { + return fragmentList[position] + } + + override fun getCount(): Int { + return fragmentList.size + } + +} diff --git a/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.java b/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.java deleted file mode 100644 index 9948226..0000000 --- a/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.novel.read.adapter.holder; - -import android.view.View; - -import androidx.recyclerview.widget.RecyclerView; - -/** - * @author: LiJun 390057892@qq.com - * @date: 2018/4/4 9:28 - */ - -public class MoreHolder extends RecyclerView.ViewHolder{ - - public MoreHolder(View itemView) { - super(itemView); - } - - public void bindModule(){ - - - } - -} diff --git a/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.kt b/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.kt new file mode 100644 index 0000000..2e171be --- /dev/null +++ b/app/src/main/java/com/novel/read/adapter/holder/MoreHolder.kt @@ -0,0 +1,34 @@ +package com.novel.read.adapter.holder + +import android.view.View +import android.widget.ProgressBar +import android.widget.TextView + +import androidx.recyclerview.widget.RecyclerView + +import com.novel.read.R + +/** + * @author: LiJun 390057892@qq.com + * @date: 2018/4/4 9:28 + */ + +class MoreHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + + private val mProgressBar: ProgressBar = itemView.findViewById(R.id.progressBar) + private val mTvName: TextView = itemView.findViewById(R.id.tv_name) + private val mTvEnd: TextView = itemView.findViewById(R.id.tv_end) + + fun bindModule(loadMore: Boolean) { + if (loadMore) { + mTvName.visibility = View.VISIBLE + mProgressBar.visibility = View.VISIBLE + mTvEnd.visibility = View.GONE + } else { + mTvName.visibility = View.GONE + mProgressBar.visibility = View.GONE + mTvEnd.visibility = View.VISIBLE + } + } + +} diff --git a/app/src/main/java/com/novel/read/fragment/BookFragment.kt b/app/src/main/java/com/novel/read/fragment/BookFragment.kt index 0202933..5650b13 100644 --- a/app/src/main/java/com/novel/read/fragment/BookFragment.kt +++ b/app/src/main/java/com/novel/read/fragment/BookFragment.kt @@ -135,16 +135,17 @@ class BookFragment : NovelBaseFragment() { Log.e("count", "setOnClick: $count") } } - activity!!.showToast( getString(R.string.delete_success)) + activity!!.showToast(getString(R.string.delete_success)) EventManager.instance.postEvent(HideBottomBarEvent(false)) updateBook(UpdateBookEvent()) } - mAdapter.setOnItemClickListener { _, _ -> - EventManager.instance.postEvent( - SwitchFragmentEvent() - ) - } + mAdapter.setOnItemClickListener(object : BookAdapter.OnItemClickListener { + override fun onItemClick(view: View, pos: Int) { + EventManager.instance.postEvent(SwitchFragmentEvent()) + } + }) + } diff --git a/app/src/main/java/com/novel/read/fragment/BookListFragment.kt b/app/src/main/java/com/novel/read/fragment/BookListFragment.kt index 2911821..a3ab24e 100644 --- a/app/src/main/java/com/novel/read/fragment/BookListFragment.kt +++ b/app/src/main/java/com/novel/read/fragment/BookListFragment.kt @@ -54,7 +54,6 @@ class BookListFragment : NovelBaseFragment() { } else { if (loadSize >= COMMENT_SIZE) { mAdapter.isLoadingMore = true - mList.add(RankByUpdateResp.BookBean()) mAdapter.notifyDataSetChanged() page++ getData() @@ -76,10 +75,9 @@ class BookListFragment : NovelBaseFragment() { if (response.body() != null) { loadSize = response.body()!!.book.size if (mAdapter.isLoadingMore) { - mList.removeAt(mList.size - 1) + mAdapter.isLoadingMore = false mList.addAll(response.body()!!.book) mAdapter.notifyDataSetChanged() - mAdapter.isLoadingMore = false } else { mList.clear() mList.addAll(response.body()!!.book) diff --git a/app/src/main/java/com/novel/read/fragment/StackFragment.kt b/app/src/main/java/com/novel/read/fragment/StackFragment.kt index 4461299..37fb7c1 100644 --- a/app/src/main/java/com/novel/read/fragment/StackFragment.kt +++ b/app/src/main/java/com/novel/read/fragment/StackFragment.kt @@ -22,7 +22,7 @@ import java.util.* class StackFragment : NovelBaseFragment() { private lateinit var mAdapter: StackAdapter - private var mList: MutableList =ArrayList() + private var mList: MutableList = ArrayList() override fun getLayoutId(): Int { return R.layout.fragment_stack @@ -33,7 +33,6 @@ class StackFragment : NovelBaseFragment() { rlv_book_type.layoutManager = GridLayoutManager(activity, 2) mAdapter = StackAdapter(mList) rlv_book_type.adapter = mAdapter - } override fun initData() { diff --git a/app/src/main/java/com/novel/read/model/db/dbManage/BookRepository.java b/app/src/main/java/com/novel/read/model/db/dbManage/BookRepository.java index 98000bc..f3fcef2 100644 --- a/app/src/main/java/com/novel/read/model/db/dbManage/BookRepository.java +++ b/app/src/main/java/com/novel/read/model/db/dbManage/BookRepository.java @@ -317,7 +317,7 @@ public class BookRepository { */ public void addSign(String bookId, String articleId, String content) { BookSignTable bookSignTable = new BookSignTable(bookId, articleId, content); - bookSignTable.saveOrUpdate(); + bookSignTable.save(); } /** diff --git a/app/src/main/java/com/novel/read/widget/dialog/ReadSettingDialog.kt b/app/src/main/java/com/novel/read/widget/dialog/ReadSettingDialog.kt index a3b7ff0..65f94f6 100644 --- a/app/src/main/java/com/novel/read/widget/dialog/ReadSettingDialog.kt +++ b/app/src/main/java/com/novel/read/widget/dialog/ReadSettingDialog.kt @@ -84,7 +84,7 @@ class ReadSettingDialog(mActivity: Activity, private var mPageLoader: PageLoader getDrawable(R.color.read_bg_five) ) - mPageStyleAdapter = PageStyleAdapter(listOf(*drawables), mPageLoader) + mPageStyleAdapter = PageStyleAdapter(listOf(*drawables) as List, mPageLoader) read_setting_rv_bg.layoutManager = GridLayoutManager(context, 4) read_setting_rv_bg.adapter = mPageStyleAdapter diff --git a/app/src/main/res/layout/load_more_layout.xml b/app/src/main/res/layout/load_more_layout.xml index d7cc2c8..4210602 100644 --- a/app/src/main/res/layout/load_more_layout.xml +++ b/app/src/main/res/layout/load_more_layout.xml @@ -1,5 +1,6 @@ @@ -12,16 +13,29 @@ android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_gravity="center" - android:layout_marginStart="114dp" /> + android:layout_marginStart="114dp" + tools:ignore="RtlHardcoded" + android:visibility="gone"/> + android:text="@string/loading_more" + tools:ignore="RtlHardcoded" + android:visibility="gone"/> + + \ No newline at end of file diff --git a/app/src/main/res/values-night/strings.xml b/app/src/main/res/values-night/strings.xml index d84730c..2857c46 100644 --- a/app/src/main/res/values-night/strings.xml +++ b/app/src/main/res/values-night/strings.xml @@ -156,4 +156,5 @@ 已缓存全部章节 %1$d/%2$d (%1$d-%2$d章) + 已经到底了 diff --git a/app/src/main/res/values-zh-rTW-night/strings.xml b/app/src/main/res/values-zh-rTW-night/strings.xml index 97475ce..2bb5f88 100644 --- a/app/src/main/res/values-zh-rTW-night/strings.xml +++ b/app/src/main/res/values-zh-rTW-night/strings.xml @@ -153,5 +153,6 @@ 以緩存全部章節 %1$d/%2$d (%1$d-%2$d章) + 已经到底了 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2fd06ac..bfcc851 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -155,5 +155,6 @@ 以緩存全部章節 %1$d/%2$d (%1$d-%2$d章) + 已经到底了 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b1ddeb5..cd3afbc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -158,4 +158,5 @@ 已缓存全部章节 %1$d/%2$d (%1$d-%2$d章) + 已经到底了