欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開(kāi)發(fā)手冊(cè)Chip監(jiān)聽(tīng)及ChipGroup監(jiān)聽(tīng)

 更新時(shí)間:2022年06月10日 16:38:14   作者:芝麻粒兒  
這篇文章主要為大家介紹了Android開(kāi)發(fā)手冊(cè)Chip監(jiān)聽(tīng)及ChipGroup監(jiān)聽(tīng),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

??Chip監(jiān)聽(tīng)

選中狀態(tài)的監(jiān)聽(tīng):setOnCheckedChangeListener,該監(jiān)聽(tīng)只有設(shè)置了checkable 屬性為true或者使用了【filter/entry/choice】這三個(gè)style主題的時(shí)候才生效。

點(diǎn)擊事件的監(jiān)聽(tīng):setOnClickListener

關(guān)閉按鈕被點(diǎn)擊的監(jiān)聽(tīng):setOnCloseIconClickListener

Java

myChip.setOnCloseIconClickListener(View.OnClickListener { v: View? ->
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip文字后面圖標(biāo)點(diǎn)擊事件")
})
myChip.setOnClickListener(View.OnClickListener { v: View? ->
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip整體普通點(diǎn)擊事件")
})
myChip.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener { buttonView: CompoundButton?, isChecked: Boolean ->
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip選中狀態(tài)監(jiān)聽(tīng)")
})

Kotlin

myChip.setOnCloseIconClickListener(v -> {
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip文字后面圖標(biāo)點(diǎn)擊事件");
});
myChip.setOnClickListener(v -> {
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip整體普通點(diǎn)擊事件");
});
myChip.setOnCheckedChangeListener((buttonView, isChecked) -> {
    //進(jìn)行業(yè)務(wù)處理
    Log.e("TAG", "onCreate: Chip選中狀態(tài)監(jiān)聽(tīng)");
});

??ChipGroup監(jiān)聽(tīng)

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

??實(shí)例

<?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.ChipGroup
        android: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<>();
    @Override
    protected 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("這是你的業(yè)務(wù)數(shù)據(jù)");
        dataList.add("根據(jù)業(yè)務(wù)數(shù)據(jù)");
        dataList.add("創(chuàng)建子View");
        dataList.add("公眾號(hào)");
        dataList.add("空名先生");
        for (String temp : dataList) {
            myChipGroupExample.addView(createChipView(temp));
        }
        myChipGroupExample.setOnCheckedChangeListener(new ChipGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(ChipGroup group, int checkedId) {
                //看到這的小伙伴可能就疑問(wèn)了,區(qū)分view的id做不同的業(yè)務(wù),如果是布局中寫(xiě)好的還可以,但實(shí)際上子view應(yīng)該是根據(jù)接口數(shù)據(jù)添加進(jìn)去的,這些點(diǎn)擊怎么區(qū)分呢?
                //我們下篇示例做個(gè)完整的。
                for (Chip tempChip : chipViewList) {
                    if (tempChip.getId() == checkedId) {
                        Log.e("TAG", "onCheckedChanged: 選中view的id內(nèi)容:" + 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));
        //設(shè)置是否可以選中
        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("這是你的業(yè)務(wù)數(shù)據(jù)")
    dataList.add("根據(jù)業(yè)務(wù)數(shù)據(jù)")
    dataList.add("創(chuàng)建子View")
    dataList.add("公眾號(hào)")
    dataList.add("空名先生")
    for (temp in dataList) {
        myChipGroupExample.addView(createChipView(temp!!))
    }
    myChipGroupExample.setOnCheckedChangeListener { group, checkedId -> //看到這的小伙伴可能就疑問(wèn)了,區(qū)分view的id做不同的業(yè)務(wù),如果是布局中寫(xiě)好的還可以,但實(shí)際上子view應(yīng)該是根據(jù)接口數(shù)據(jù)添加進(jìn)去的,這些點(diǎn)擊怎么區(qū)分呢?
        //我們下篇示例做個(gè)完整的。
        for (tempChip in chipViewList) {
            if (tempChip.id == checkedId) {
                Log.e("TAG", "onCheckedChanged: 選中view的id內(nèi)容:" + tempChip.text)
            }
        }
    }
}
private val chipViewList: MutableList<Chip> = ArrayList()
private fun createChipView(temp: String): View? {
    val chipView = Chip(this)
    chipView.id = View.generateViewId()
    chipView.text = temp
    chipView.chipIcon = getDrawable(R.drawable.icon_xin)
    //設(shè)置是否可以選中
    chipView.isCheckable = true
    chipView.textSize = 18f
    chipViewList.add(chipView)
    return chipView
}

效果展示

以上就是Android開(kāi)發(fā)手冊(cè)Chip監(jiān)聽(tīng)及ChipGroup監(jiān)聽(tīng)的詳細(xì)內(nèi)容,更多關(guān)于Android開(kāi)發(fā)Chip及ChipGroup監(jiān)聽(tīng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論