From 5e32755d48195d5c36cf03236df88021ec4355d6 Mon Sep 17 00:00:00 2001 From: zhangsan <646228430@qq.com> Date: Thu, 2 May 2024 10:25:50 +0800 Subject: [PATCH] =?UTF-8?q?Bookinfo=E7=95=8C=E9=9D=A2=E5=AE=8C=E5=96=84?= =?UTF-8?q?=EF=BC=8C=E5=BC=80=E5=A7=8B=E5=81=9A=E9=98=85=E8=AF=BB=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../Activity/BookInformationActivity.kt | 148 ++++++++--- .../jianshu/Activity/PerceptionActivity.kt | 30 +-- .../jianshu/Activity/SendSpecificActivity.kt | 85 +++++++ .../Activity/sendPerceptionActivity.kt | 9 + .../com/zjgsu/jianshu/Adapter/BookAdapter2.kt | 11 +- .../jianshu/Adapter/GoodperceptionAdapter.kt | 76 ++++++ .../zjgsu/jianshu/Adapter/GoodsuibiAdapter.kt | 84 ------- .../jianshu/Adapter/PerceptionAdapter.kt | 197 ++++++++------- .../com/zjgsu/jianshu/Bmob/Perception_bmob.kt | 1 + .../res/drawable/{buxing.jpg => bad1.jpg} | Bin app/src/main/res/drawable/bad2.png | Bin 0 -> 23215 bytes app/src/main/res/drawable/blue_button_bg.xml | 4 + app/src/main/res/drawable/comment.png | Bin 4094 -> 0 bytes app/src/main/res/drawable/like.png | Bin 5956 -> 0 bytes app/src/main/res/drawable/like1.png | Bin 5893 -> 545 bytes app/src/main/res/drawable/like2.png | Bin 0 -> 471 bytes app/src/main/res/drawable/mydimgrey.xml | 2 +- .../res/drawable/{yiban.jpg => normal1.jpg} | Bin app/src/main/res/drawable/normal2.png | Bin 0 -> 23836 bytes app/src/main/res/drawable/recommend1.jpg | Bin 0 -> 4951 bytes .../drawable/{henhao.jpg => recommend2.jpg} | Bin .../main/res/layout/activity_book_info.xml | 180 ++++++++++---- .../main/res/layout/activity_categorypage.xml | 10 +- app/src/main/res/layout/activity_my.xml | 4 +- .../res/layout/activity_sendperception.xml | 10 +- .../main/res/layout/activity_sendspecific.xml | 91 +++++++ app/src/main/res/layout/book_info.xml | 214 ++++++++++++++++ app/src/main/res/layout/bookinfo_title.xml | 10 +- app/src/main/res/layout/bookintro_dialog.xml | 37 +++ .../main/res/layout/goodperception_item.xml | 103 ++++++++ app/src/main/res/layout/goodsuibi_item.xml | 37 --- app/src/main/res/layout/perception_item.xml | 232 ++++++++---------- 33 files changed, 1109 insertions(+), 467 deletions(-) create mode 100644 app/src/main/java/com/zjgsu/jianshu/Activity/SendSpecificActivity.kt create mode 100644 app/src/main/java/com/zjgsu/jianshu/Adapter/GoodperceptionAdapter.kt delete mode 100644 app/src/main/java/com/zjgsu/jianshu/Adapter/GoodsuibiAdapter.kt rename app/src/main/res/drawable/{buxing.jpg => bad1.jpg} (100%) create mode 100644 app/src/main/res/drawable/bad2.png create mode 100644 app/src/main/res/drawable/blue_button_bg.xml delete mode 100644 app/src/main/res/drawable/comment.png delete mode 100644 app/src/main/res/drawable/like.png create mode 100644 app/src/main/res/drawable/like2.png rename app/src/main/res/drawable/{yiban.jpg => normal1.jpg} (100%) create mode 100644 app/src/main/res/drawable/normal2.png create mode 100644 app/src/main/res/drawable/recommend1.jpg rename app/src/main/res/drawable/{henhao.jpg => recommend2.jpg} (100%) create mode 100644 app/src/main/res/layout/activity_sendspecific.xml create mode 100644 app/src/main/res/layout/book_info.xml create mode 100644 app/src/main/res/layout/bookintro_dialog.xml create mode 100644 app/src/main/res/layout/goodperception_item.xml delete mode 100644 app/src/main/res/layout/goodsuibi_item.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 922d70a..cb193e6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -50,6 +50,7 @@ + diff --git a/app/src/main/java/com/zjgsu/jianshu/Activity/BookInformationActivity.kt b/app/src/main/java/com/zjgsu/jianshu/Activity/BookInformationActivity.kt index 93f65d3..cb1c4d6 100644 --- a/app/src/main/java/com/zjgsu/jianshu/Activity/BookInformationActivity.kt +++ b/app/src/main/java/com/zjgsu/jianshu/Activity/BookInformationActivity.kt @@ -9,20 +9,27 @@ import cn.bmob.v3.exception.BmobException import cn.bmob.v3.listener.FindListener import cn.bmob.v3.listener.UpdateListener import android.os.Bundle +import android.view.View +import android.widget.Button +import android.widget.TextView import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.StaggeredGridLayoutManager import cn.bmob.v3.listener.SaveListener import com.bumptech.glide.Glide -import com.zjgsu.jianshu.Adapter.GoodsuibiAdapter +import com.zjgsu.jianshu.Adapter.GoodperceptionAdapter import com.zjgsu.jianshu.Bmob.BookShelf import com.zjgsu.jianshu.Bmob.Book_info_bmob import com.zjgsu.jianshu.Bmob.Perception_bmob import kotlinx.android.synthetic.main.activity_book_info.* +import kotlinx.android.synthetic.main.activity_sendspecific.* import kotlinx.android.synthetic.main.bookinfo_title.* class BookInformationActivity : AppCompatActivity() { + private lateinit var adapter: GoodperceptionAdapter private val perceptionList = ArrayList() private var isCommented = false private lateinit var bookName: String @@ -30,11 +37,16 @@ class BookInformationActivity : AppCompatActivity() { private lateinit var userId:String private lateinit var picurl:String private var sourceActivityClass: Class<*>? = null + private lateinit var bookInfoTextView: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_book_info) Bmob.initialize(this, "8f9f1d1ea520b0ce4f84a6fa83a5f754") + bookinfo_swipeRefresh.setOnRefreshListener { + loadBookInfo() //下拉刷新 + } bookName = intent.getStringExtra("Book_name") ?: "" + bookInfoTextView = findViewById(R.id.bookinfo_introduce) userId = getSharedPreferences("userinf", Context.MODE_PRIVATE).getString("user_id", "").toString() sourceActivityClass = intent.getSerializableExtra("Source_Activity") as? Class<*> loadPerceptions() @@ -42,16 +54,18 @@ class BookInformationActivity : AppCompatActivity() { loadBookInfo() judgeInBookshelf() setClickListeners() + judgeComment() } private fun loadPerceptions() { val queryPerception = BmobQuery() - queryPerception.addWhereEqualTo("b_name", bookName) + queryPerception.addWhereEqualTo("b_name", bookName) //查询指定书名的精彩点评 queryPerception.findObjects(object : FindListener() { override fun done(list: List, e: BmobException?) { if (e == null) { + bookinfo_swipeRefresh.isRefreshing = false list.forEach { perceptionList.add(Perception(it.objectId)) } - bookinfo_recyclerView.adapter?.notifyDataSetChanged() + adapter.notifyDataSetChanged() } else { Log.e("BookInfo", "Error loading perceptions: ${e.message}") } @@ -60,9 +74,10 @@ class BookInformationActivity : AppCompatActivity() { } private fun setupRecyclerView() { - val layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.HORIZONTAL) + val layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL) bookinfo_recyclerView.layoutManager = layoutManager - bookinfo_recyclerView.adapter = GoodsuibiAdapter(perceptionList) + adapter=GoodperceptionAdapter(perceptionList) + bookinfo_recyclerView.adapter = adapter } private fun loadBookInfo() { @@ -71,6 +86,7 @@ class BookInformationActivity : AppCompatActivity() { queryBook.findObjects(object : FindListener() { override fun done(books: MutableList?, e: BmobException?) { if (e == null && books != null && books.isNotEmpty()) { + bookinfo_swipeRefresh.isRefreshing = false val book = books[0] loadBookCover(book.picture.url) picurl=book.picture.url @@ -87,9 +103,11 @@ class BookInformationActivity : AppCompatActivity() { textView10.text = "简书推荐值 " + str + "%" } updateBookRankings(book) - Book_name_View.text = book.name - book_authorname.text = book.author_name + bookinfo_bookname.text = book.name + bookinfo_authorname.text = book.author_name + bookinfo_introduce.text=book.introduce authorName = book.author_name + bookInfoTextView.text=book.introduce } else { Log.e("BookInfo", "Error loading book info: ${e?.message}") } @@ -105,13 +123,25 @@ class BookInformationActivity : AppCompatActivity() { override fun done(bookshelfItems: MutableList?, e: BmobException?) { if (e == null && bookshelfItems != null && bookshelfItems.isNotEmpty()) { bookinfo_addBook.setImageResource(R.drawable.alreadyin) + bookinfo_mess.text="已加入" } } }) } + private fun showBookIntroDialog(bookIntroContent: String) { + val builder = AlertDialog.Builder(this) + val dialogView = layoutInflater.inflate(R.layout.bookintro_dialog, null) + builder.setView(dialogView) + val dialog = builder.create() + dialogView.findViewById(R.id.book_intro_content)?.text = bookIntroContent + dialogView.findViewById