diff --git a/app/build.gradle b/app/build.gradle index a0fc5972a..b820c391d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,6 +35,10 @@ android { kotlinOptions { jvmTarget = "1.8" } + + viewBinding { + enabled = true + } } dependencies { diff --git a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/activity/HomeActivity.kt b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/activity/HomeActivity.kt index ba7ca585a..025f4d018 100644 --- a/app/src/main/java/com/chad/baserecyclerviewadapterhelper/activity/HomeActivity.kt +++ b/app/src/main/java/com/chad/baserecyclerviewadapterhelper/activity/HomeActivity.kt @@ -8,13 +8,15 @@ import com.chad.baserecyclerviewadapterhelper.R import com.chad.baserecyclerviewadapterhelper.activity.multi.ChooseMultipleItemUseTypeActivity import com.chad.baserecyclerviewadapterhelper.activity.node.ChooseNodeUseTypeActivity import com.chad.baserecyclerviewadapterhelper.adapter.HomeAdapter +import com.chad.baserecyclerviewadapterhelper.databinding.ActivityHomeBinding import com.chad.baserecyclerviewadapterhelper.entity.HomeEntity import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.listener.OnItemClickListener -import kotlinx.android.synthetic.main.activity_home.* class HomeActivity : AppCompatActivity(), OnItemClickListener { + private lateinit var binding: ActivityHomeBinding + /** * RV适配器 */ @@ -22,7 +24,7 @@ class HomeActivity : AppCompatActivity(), OnItemClickListener { HomeAdapter(homeItemData).apply { animationEnable = true - val top = layoutInflater.inflate(R.layout.top_view, recyclerView, false) + val top = layoutInflater.inflate(R.layout.top_view, binding.recyclerView, false) addHeaderView(top) setOnItemClickListener(this@HomeActivity) // setOnItemClickListener { adapter, _, position -> @@ -43,9 +45,10 @@ class HomeActivity : AppCompatActivity(), OnItemClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_home) + binding = ActivityHomeBinding.inflate(layoutInflater) + setContentView(binding.root) - recyclerView.adapter = homeAdapter + binding.recyclerView.adapter = homeAdapter } private val homeItemData: ArrayList diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index b84edcc83..bd49d980b 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -8,7 +8,7 @@ android:orientation="vertical"> * @param item T? * @return Int */ - fun getItemPosition(item: T?): Int { + open fun getItemPosition(item: T?): Int { return if (item != null && data.isNotEmpty()) data.indexOf(item) else -1 } @@ -942,7 +942,15 @@ abstract class BaseQuickAdapter } ?: ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT) insert = true + } else { + emptyView.layoutParams?.let { + val lp = mEmptyLayout.layoutParams + lp.width = it.width + lp.height = it.height + mEmptyLayout.layoutParams = lp + } } + mEmptyLayout.removeAllViews() mEmptyLayout.addView(emptyView) isUseEmpty = true