日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android修行手册 - Chip监听和ChipGroup监听

發布時間:2024/3/26 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android修行手册 - Chip监听和ChipGroup监听 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
往期文章分享
  • 點擊跳轉=>《導航貼》- Unity手冊,系統實戰學習
  • 點擊跳轉=>《導航貼》- Android手冊,重溫移動開發

本文約5.8千字,新手閱讀需要11分鐘,復習需要4分鐘收藏隨時查閱不再迷路

👉關于作者

眾所周知,人生是一個漫長的流程,不斷克服困難,不斷反思前進的過程。在這個過程中會產生很多對于人生的質疑和思考,于是我決定將自己的思考,經驗和故事全部分享出來,以此尋找共鳴 !!!
專注于Android/Unity和各種游戲開發技巧,以及各種資源分享(網站、工具、素材、源碼、游戲等)
有什么需要歡迎私我,交流群讓學習不再孤單

👉前提

這是小空堅持寫的Android新手向系列,歡迎品嘗。

大佬(×)

新手(√)

👉實踐過程

😜Chip監聽

選中狀態的監聽:setOnCheckedChangeListener,該監聽只有設置了checkable 屬性為true或者使用了【filter/entry/choice】這三個style主題的時候才生效。

點擊事件的監聽:setOnClickListener

關閉按鈕被點擊的監聽:setOnCloseIconClickListener

Java

myChip.setOnCloseIconClickListener(View.OnClickListener { v: View? ->//進行業務處理Log.e("TAG", "onCreate: Chip文字后面圖標點擊事件") })myChip.setOnClickListener(View.OnClickListener { v: View? ->//進行業務處理Log.e("TAG", "onCreate: Chip整體普通點擊事件") })myChip.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { buttonView: CompoundButton?, isChecked: Boolean ->//進行業務處理Log.e("TAG", "onCreate: Chip選中狀態監聽") })

Kotlin

myChip.setOnCloseIconClickListener(v -> {//進行業務處理Log.e("TAG", "onCreate: Chip文字后面圖標點擊事件"); });myChip.setOnClickListener(v -> {//進行業務處理Log.e("TAG", "onCreate: Chip整體普通點擊事件"); });myChip.setOnCheckedChangeListener((buttonView, isChecked) -> {//進行業務處理Log.e("TAG", "onCreate: Chip選中狀態監聽"); });

😜ChipGroup監聽

myChipGroup.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(ChipGroup group, int checkedId) {//看到這的小伙伴可能就疑問了,區分view的id做不同的業務,如果是布局中寫好的還可以,但實際上子view應該是根據接口數據添加進去的,這些點擊怎么區分呢?//我們下篇示例做個完整的。Log.e("TAG", "onCheckedChanged: 選中view的id");} });

😜實例

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><com.google.android.material.chip.ChipGroupandroid:id="@+id/myChipGroupExample"android:layout_width="wrap_content"app:singleSelection="true"android:layout_height="wrap_content"> </LinearLayout>

Java

public class TestChipAndChipGroupActivity extends AppCompatActivity {private List<Chip> chipViewList = new ArrayList<>();@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_chip_chipgroup);ChipGroup myChipGroupExample = findViewById(R.id.myChipGroupExample);List<String> dataList = new ArrayList<>();dataList.add("芝麻粒兒");dataList.add("這是你的業務數據");dataList.add("根據業務數據");dataList.add("創建子View");dataList.add("公眾號");dataList.add("空名先生");for (String temp : dataList) {myChipGroupExample.addView(createChipView(temp));}myChipGroupExample.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(ChipGroup group, int checkedId) {//看到這的小伙伴可能就疑問了,區分view的id做不同的業務,如果是布局中寫好的還可以,但實際上子view應該是根據接口數據添加進去的,這些點擊怎么區分呢?//我們下篇示例做個完整的。for (Chip tempChip : chipViewList) {if (tempChip.getId() == checkedId) {Log.e("TAG", "onCheckedChanged: 選中view的id內容:" + tempChip.getText());}}}});}private View createChipView(String temp) {Chip chipView = new Chip(this);chipView.setId(View.generateViewId());chipView.setText(temp);chipView.setChipIcon(getDrawable(R.drawable.icon_xin));//設置是否可以選中chipView.setCheckable(true);chipView.setTextSize(18);chipViewList.add(chipView);return chipView;} }

Kotlin代碼

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_test)val myChipGroupExample = findViewById<ChipGroup>(R.id.myChipGroupExample)val dataList: MutableList<String> = java.util.ArrayList()dataList.add("芝麻粒兒")dataList.add("這是你的業務數據")dataList.add("根據業務數據")dataList.add("創建子View")dataList.add("公眾號")dataList.add("空名先生")for (temp in dataList) {myChipGroupExample.addView(createChipView(temp!!))}myChipGroupExample.setOnCheckedChangeListener { group, checkedId -> //看到這的小伙伴可能就疑問了,區分view的id做不同的業務,如果是布局中寫好的還可以,但實際上子view應該是根據接口數據添加進去的,這些點擊怎么區分呢?//我們下篇示例做個完整的。for (tempChip in chipViewList) {if (tempChip.id == checkedId) {Log.e("TAG", "onCheckedChanged: 選中view的id內容:" + tempChip.text)}}} }private val chipViewList: MutableList<Chip> = ArrayList()private fun createChipView(temp: String): View? {val chipView = Chip(this)chipView.id = View.generateViewId()chipView.text = tempchipView.chipIcon = getDrawable(R.drawable.icon_xin)//設置是否可以選中chipView.isCheckable = truechipView.textSize = 18fchipViewList.add(chipView)return chipView }

👉其他

📢作者:小空和小芝中的小空
📢轉載說明-務必注明來源:https://zhima.blog.csdn.net/
📢這位道友請留步??,我觀你氣度不凡,談吐間隱隱有王者霸氣💚,日后定有一番大作為📝!!!旁邊有點贊👍收藏🌟今日傳你,點了吧,未來你成功??,我分文不取,若不成功??,也好回來找我。

溫馨提示點擊下方卡片獲取更多意想不到的資源。

總結

以上是生活随笔為你收集整理的Android修行手册 - Chip监听和ChipGroup监听的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。