diff --git a/VisualNovel/app/src/main/AndroidManifest.xml b/VisualNovel/app/src/main/AndroidManifest.xml index b2243ae..3a564f6 100644 --- a/VisualNovel/app/src/main/AndroidManifest.xml +++ b/VisualNovel/app/src/main/AndroidManifest.xml @@ -43,6 +43,7 @@ android:theme="@style/AppTheme"> diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt index a07a03b..bd30c74 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt @@ -54,11 +54,15 @@ class ChatActivity : BaseBindingActivity() { companion object { - fun start() { + const val ACTOR_ID = "ACTOR_ID" + + fun start(actorId: Int) { ARouter.getInstance() .build(Routers.CHAT) + .withInt(ACTOR_ID, actorId) .navigation() } + } diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt index daa554e..438690a 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorListFragment.kt @@ -24,7 +24,7 @@ import kotlin.math.max @Route(path = Routers.ROUTE_FRAG_ACTORLIST) class ActorListFragment : BaseBindingFragment() { - private lateinit var actorAdapter: ActorsAdapter + private lateinit var mActorAdapter: ActorsAdapter private val actorsViewModel by viewModels() override fun onCreated(bundle: Bundle?) { @@ -51,15 +51,15 @@ class ActorListFragment : BaseBindingFragment() { private fun initRecyclerView() { with(binding) { val layoutManager = LayoutManagerHelper.createAdaptiveStaggeredGridLayoutManager() - actorsRv.layoutManager = layoutManager - actorsRv.addItemDecoration(GridSpacingItemDecoration(16)) - actorsRv.setHasFixedSize(true) - actorsRv.itemAnimator = DefaultItemAnimator() - actorAdapter = ActorsAdapter() - actorsRv.adapter = actorAdapter + mActorsRv.layoutManager = layoutManager + mActorsRv.addItemDecoration(GridSpacingItemDecoration(16)) + mActorsRv.setHasFixedSize(true) + mActorsRv.itemAnimator = DefaultItemAnimator() + mActorAdapter = ActorsAdapter() + mActorsRv.adapter = mActorAdapter val characterList = createSampleData() - actorAdapter.setList(characterList) + mActorAdapter.setList(characterList) } } diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt index 485d125..53583d8 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt @@ -5,14 +5,19 @@ import com.chad.library.adapter.base.module.LoadMoreModule import com.remax.visualnovel.R import com.remax.visualnovel.app.BaseBindingQuickAdapter import com.remax.visualnovel.databinding.FragmentMainActorItemBinding +import com.remax.visualnovel.ui.Chat.ChatActivity class ActorsAdapter : BaseBindingQuickAdapter(FragmentMainActorItemBinding::inflate), LoadMoreModule { init { - addChildClickViewIds(R.id.top_container_left_top) + setOnItemClickListener { _, _, position -> + val item = getItem(position) + ChatActivity.start(item.id) + } + addChildClickViewIds(R.id.top_container_left_top) setOnItemChildClickListener { _, _, position -> val item = getItem(position) - // TODO - goto + ChatActivity.start(item.id) } } diff --git a/VisualNovel/app/src/main/res/layout/fragment_main_actor.xml b/VisualNovel/app/src/main/res/layout/fragment_main_actor.xml index 5b8d65d..befdaf5 100644 --- a/VisualNovel/app/src/main/res/layout/fragment_main_actor.xml +++ b/VisualNovel/app/src/main/res/layout/fragment_main_actor.xml @@ -110,7 +110,7 @@ app:tag_shrink_drawable="@mipmap/tag_flow_shrink" /> 25dp + + +