android - 如何在单击列表视图的不同子项时执行一些操作
问题描述
这是我的 ItemPriceActivity 图像:
在这里,我使用了托管的另一个 API 的 URL,因为我很容易使用这个 URL,因为我经常不需要更改地址,所以我使用了那个。所以不要介意那里出现的医院名称。
这是我的适配器类
在这里,我想做的就是当我单击列表视图的子项时,即在购物车图标上,我想要一个动画,该动画会为显示在浮动按钮上方的文本视图而抖动,并且在单击不同的购物车图标时,数字也应该增加,而且它未选中时应减少。请建议我如何执行此类操作,并提前感谢您。
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.item_layout, null);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ItemPricePojo userInfo = datalist.get(position);
mlistener.onItemClick(userInfo);
}
});
final TextView totalcart = convertView.findViewById(R.id.totalcartitems);
final Animation animShake = AnimationUtils.loadAnimation(activity, R.anim.shake);
final CheckBox checkBox = convertView.findViewById(R.id.addtocart);
checkBox.setTag(new Integer(position));
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
totalcart.startAnimation(animShake);
if(checkBox.isChecked()){
count++;
totalcart.setText(Integer.toString(count));
}
else {
count--;
totalcart.setText(Integer.toString(count));
}
}
});
TextView price = convertView.findViewById(R.id.price);
TextView name = convertView.findViewById(R.id.text1);
ItemPricePojo m = datalist.get(position);
price.setText(String.valueOf(m.getPrice()));
name.setText(String.valueOf(m.getName()));
return convertView;
}
}
解决方案
您为您的复选框设置了一个 onClick 侦听器。您应该改用 setOnCheckedChangeListener ,它会告诉您复选框是否被选中。
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
}
});
推荐阅读
- java - 没有静态引用的 Java Runnable
- html - 如何在 Github Repository 中显示代码的渲染 HTML
- sql - T-SQL 触发器 - 审计列更改
- python-3.x - 如何使用列表动态创建 Python 类实例?
- php - 已安装 php-mysql 但未在 phpinfo 中显示
- c# - 我可以通过使用 cookie 自动重新登录到我的 SignInManager 和 UserManager (Identity) -> Asp.Net-Core Identity (Deployed live)
- shell - 为什么 curl 无法使用选项 -i 显示 http 标头
- kubernetes - 从 Kubernetes 集群中的 Worker 节点访问 Pod
- python - python webscraping:您无权访问此资源
- node.js - nodejs中不能同时导入多个tfjs模型库