ToggleButton为所有ListView项目更新

时间:2019-03-26 20:44:31

标签: android android-adapter android-togglebutton

我有一个<template> <div id="app" class="container-fluid"> <audio id="audio1"> <source src="../assets/mySong.wav" type="audio/wav"> </audio> <button @click="playSound()" >Press for Sound</button> </template> <script> playSound() { var myMusic = document.getElementById("audio1"); myMusic.play(); </script> ,每行包含ListViewToggleButton基本上是一个收藏夹按钮。首先,我检查数据库是否存在特定值,如果存在,则将按钮显示为红色,否则显示为灰色。问题是,每当我单击任何按钮时,所有按钮都会变为红色,反之亦然,默认情况下,滚动所有按钮时也会更新。我的适配器代码是:

ToggleButton

1 个答案:

答案 0 :(得分:0)

第一:

您必须将toggleButton本身放在viewHolder内。像这样:

static class ViewHolder {
    TextView tvTitle, tvPost;
    ImageView imageIcon;
    ToggleButton toggleButton;
}

然后更改此行:

toggleButton = (ToggleButton) convertView.findViewById(R.id.myHeartToggleButton);

收件人:

viewHolder.toggleButton = (ToggleButton) convertView.findViewById(R.id.myHeartToggleButton);

此外,在其他地方,请使用toggleButton代替viewHolder.toggleButton

要注意的另一件事是,isClicked也不应放置在适配器内,因为它对每一行持有不同的值。