gpt4 book ai didi

android - 如何在每个项目的 ListView 中实现简单的类似按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:37 25 4
gpt4 key购买 nike

enter image description here

我的 ListView 项目中有某些条目。我有一个简单的“喜欢按钮”(不是 facebook 喜欢的按钮)。您可以看到上面提到的屏幕截图;供引用。我点击赞按钮的那一刻;我想要更改点赞按钮的颜色,并且点赞按钮的颜色在我再次登录时应保持不变(按赞更改)。

此外,所有条目都必须使用 json 将 cust_id、bus_id、Offer_id 填充到数据库中;我非常了解。

当我再次单击同一个按钮(如按钮)时,其颜色已更改。它必须改回默认颜色,并且必须从数据库中删除数据。

我该怎么做...?1. 如何获取点击按钮的值。2.如何将更改后的颜色恢复为默认颜色;一旦按钮被重新点击。

请建议我...

这是按钮代码

holder.b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (clicked) {
holder.b1.setBackgroundResource(R.drawable.like_icon_hover);
} else {
holder.b1.setBackgroundResource(R.drawable.like_icon);
}
clicked = true;
}
});

最佳答案

您需要为按钮添加一个监听器,并使用 ValueAnimator 可以更改按钮颜色并在您再次单击时将其反转。

这是实现您的场景的一种简单且最佳的方法。像这样在列表项中为按钮添加 onClick 监听器。我已经解释了每一行 ..

    // set a default background color to the button
placeHolder.likeButton.setBackgroundColor(Color.RED);
placeHolder.likeButton.setOnClickListener(new View.OnClickListener() {
ValueAnimator buttonColorAnim = null; // to hold the button animator

@Override
public void onClick(View v) {
// first time this will be null
if(buttonColorAnim != null){
// reverse the color
buttonColorAnim.reverse();
// reset for next time click
buttonColorAnim = null;
// add your code here to remove from database
}
else {
final Button button = (Button) v;
// create a color value animator
buttonColorAnim = ValueAnimator.ofObject(new ArgbEvaluator(), Color.RED, Color.BLUE);
// add a update listener for the animator.
buttonColorAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
// set the background color
button.setBackgroundColor((Integer) animator.getAnimatedValue());
}
});
// you can also set a delay before start
//buttonColorAnim.setStartDelay(2000); // 2 seconds
// start the animator..
buttonColorAnim.start();
// add your code here to add to database
}
}
});

这将在您第一次点击时更改按钮颜色,然后在下一次点击时恢复颜色。您还可以设置延迟以更改颜色。

注意:您必须根据您的逻辑设置默认按钮颜色。

关于android - 如何在每个项目的 ListView 中实现简单的类似按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com