Android开发怎么实现Chip监听及ChipGroup监听(android,chip,chipgroup,开发技术)

时间:2024-04-29 22:06:39 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

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(newChipGroup.OnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(ChipGroupgroup,intcheckedId){//看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?//我们下篇示例做个完整的。Log.e("TAG","onCheckedChanged:选中view的id");}});

实例

<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns: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

publicclassTestChipAndChipGroupActivityextendsAppCompatActivity{privateList<Chip>chipViewList=newArrayList<>();@OverrideprotectedvoidonCreate(@NullableBundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_chip_chipgroup);ChipGroupmyChipGroupExample=findViewById(R.id.myChipGroupExample);List<String>dataList=newArrayList<>();dataList.add("芝麻粒儿");dataList.add("这是你的业务数据");dataList.add("根据业务数据");dataList.add("创建子View");dataList.add("公众号");dataList.add("空名先生");for(Stringtemp:dataList){myChipGroupExample.addView(createChipView(temp));}myChipGroupExample.setOnCheckedChangeListener(newChipGroup.OnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(ChipGroupgroup,intcheckedId){//看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?//我们下篇示例做个完整的。for(ChiptempChip:chipViewList){if(tempChip.getId()==checkedId){Log.e("TAG","onCheckedChanged:选中view的id内容:"+tempChip.getText());}}}});}privateViewcreateChipView(Stringtemp){ChipchipView=newChip(this);chipView.setId(View.generateViewId());chipView.setText(temp);chipView.setChipIcon(getDrawable(R.drawable.icon_xin));//设置是否可以选中chipView.setCheckable(true);chipView.setTextSize(18);chipViewList.add(chipView);returnchipView;}}

Kotlin代码

overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_test)valmyChipGroupExample=findViewById<ChipGroup>(R.id.myChipGroupExample)valdataList:MutableList<String>=java.util.ArrayList()dataList.add("芝麻粒儿")dataList.add("这是你的业务数据")dataList.add("根据业务数据")dataList.add("创建子View")dataList.add("公众号")dataList.add("空名先生")for(tempindataList){myChipGroupExample.addView(createChipView(temp!!))}myChipGroupExample.setOnCheckedChangeListener{group,checkedId->//看到这的小伙伴可能就疑问了,区分view的id做不同的业务,如果是布局中写好的还可以,但实际上子view应该是根据接口数据添加进去的,这些点击怎么区分呢?//我们下篇示例做个完整的。for(tempChipinchipViewList){if(tempChip.id==checkedId){Log.e("TAG","onCheckedChanged:选中view的id内容:"+tempChip.text)}}}}privatevalchipViewList:MutableList<Chip>=ArrayList()privatefuncreateChipView(temp:String):View?{valchipView=Chip(this)chipView.id=View.generateViewId()chipView.text=tempchipView.chipIcon=getDrawable(R.drawable.icon_xin)//设置是否可以选中chipView.isCheckable=truechipView.textSize=18fchipViewList.add(chipView)returnchipView}

效果展示

Android开发怎么实现Chip监听及ChipGroup监听

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Android开发怎么实现Chip监听及ChipGroup监听的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java如何实现带图形界面的聊天程序下一篇:

14 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18