Commit 0eebeedd authored by wanglei's avatar wanglei

...

parent 922bd6dc
package com.base.browserwhite.ui.activity.result
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color
import androidx.activity.addCallback
import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER
import com.base.browserwhite.databinding.ActivityResultBinding
import com.base.browserwhite.ui.activity.BaseActivity
import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.ui.adapter.NewsAdapter
import com.base.browserwhite.ui.fragment.HomeFragment
import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx
......@@ -43,7 +46,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
}
}
}
newsAdapter = NewsAdapter()
newsAdapter = NewsAdapter { url ->
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", url)
})
}
helper =
QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener {
override fun onLoad() {
......
......@@ -26,7 +26,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
val uri = intent.extras?.getString("uri") ?: ""
val uri = intent.extras?.getString("url") ?: ""
binding.editWeb.setText(uri)
......
......@@ -44,7 +44,7 @@ class WevStoreActivity : BaseActivity<ActivityWevStoreBinding>() {
adapter = WebSiteGroupAdapter(clickAction = { bean ->
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("uri", bean.url)
putExtra("url", bean.url)
})
finish()
})
......
......@@ -36,7 +36,7 @@ class HeadWebsiteAdapter : BaseSingleItemAdapter<List<WebSiteBean>, HeadWebsiteA
context.startActivity(Intent(context, WevStoreActivity::class.java))
} else {
context.startActivity(Intent(context, WebBrowserActivity::class.java).apply {
putExtra("uri", bean.url)
putExtra("url", bean.url)
})
}
}
......
......@@ -19,7 +19,9 @@ import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Target
import com.chad.library.adapter4.BaseQuickAdapter
class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
class NewsAdapter(
val clickAction: (url: String) -> Unit
) : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
private val TAG = "NewsAdapter"
......@@ -31,16 +33,23 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
return NewsViewHolder(R.layout.item_news.inflate(parent))
}
override fun onBindViewHolder(holder: NewsViewHolder, position: Int, bean: NewsBean?) {
LogEx.logDebug(TAG,"onBindViewHolder")
if (bean == null) {
override fun onBindViewHolder(holder: NewsViewHolder, position: Int, item: NewsBean?) {
LogEx.logDebug(TAG, "onBindViewHolder")
if (item == null) {
return
}
val binding = ItemNewsBinding.bind(holder.itemView)
if (items.first() == item) {
binding.ll.visibility = View.VISIBLE
} else {
binding.ll.visibility = View.GONE
}
// val bean = beanList[position]
val context = holder.itemView.context
Glide.with(context).load(bean.orgImgPath).listener(object : RequestListener<Drawable> {
Glide.with(context).load(item.orgImgPath).listener(object : RequestListener<Drawable> {
override fun onLoadFailed(
e: GlideException?,
model: Any?,
......@@ -61,12 +70,15 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
}
}).centerCrop().into(binding.ivMedia)
binding.tvTittle.text = bean.headline
binding.tvTittle.text = item.headline
runCatching {
Glide.with(context).load(bean.mediaIcon).into(binding.ivIcon)
Glide.with(context).load(item.mediaIcon).into(binding.ivIcon)
}
binding.tvMediaName.text = item.mediaName
binding.tvPublishTime.text = item.publishTime.toFormatTime()
binding.root.setOnClickListener {
clickAction.invoke(item.linkPath)
}
binding.tvMediaName.text = bean.mediaName
binding.tvPublishTime.text = bean.publishTime.toFormatTime()
}
fun getLastPageNumber(): Long? {
......
......@@ -39,7 +39,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun setView() {
newsAdapter = NewsAdapter()
newsAdapter = NewsAdapter { url ->
requireContext().startActivity(Intent(requireContext(), WebBrowserActivity::class.java).apply {
putExtra("url", url)
})
}
helper =
QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener {
override fun onLoad() {
......@@ -158,7 +162,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun onEditorAction(v: TextView?, actionId: Int, event: KeyEvent?): Boolean {
if (actionId == IME_ACTION_DONE) {
requireActivity().startActivity(Intent(requireContext(), WebBrowserActivity::class.java).apply {
putExtra("uri", getGoogleSearch(v.toString()))
putExtra("url", getGoogleSearch(v.toString()))
})
return true; // 返回true表示事件已处理
}
......
......@@ -176,18 +176,12 @@
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="26dp"
android:layout_marginTop="16dp"
android:background="#E5E6EB" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</LinearLayout>
......
......@@ -8,6 +8,35 @@
android:layout_marginVertical="8dp"
android:orientation="vertical">
<FrameLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginVertical="16dp"
android:text="News"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:text="More"
android:textColor="#0571ED"
android:textSize="15sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</FrameLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="180dp"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_website"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_span="3"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/item_website_grid">
tools:listitem="@layout/item_website_grid" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="26dp"
android:layout_marginTop="16dp"
android:background="#E5E6EB" />
</androidx.recyclerview.widget.RecyclerView>
\ No newline at end of file
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment