我遇到了一个我无法解决的小问题,我搜索了网络,但找不到答案。我正在为手机制作一个小型android应用程序,并且我有一个listview项,其中没有几项。在我的listView中单击某些项目时,我想在左侧显示一个小勾号,以便用户可以看到他选择的内容。下次用户打开或输入该活动时,他上次单击的内容上应该已经有复选标记。
我像这样设置drawableLeft图标,但是现在我拥有的每个listView项都具有相同的选中标记。
filter_grep
答案 0 :(得分:0)
在getView()
方法上,您需要根据签入以编程方式设置可绘制对象,哪些项目带有刻度线,哪些没有刻度线。
希望这会有所帮助。
TextView TextGornji = (TextView) convertView.findViewById(R.id.lblcountryname);
// Provide your condition here instead of isShow
if (isShow) {
Drawable img = mContext.getResources().getDrawable(R.drawable.tick); //Provide tick mark drawable
img.setBounds(0, 0, 60, 60);
TextGornji.setCompoundDrawables(img, null, null, null);
} else {
TextGornji.setCompoundDrawables(null, null, null, null);
}
答案 1 :(得分:0)
变量定义
private int mSelectedItem = -1;
和getView方法添加此代码
if(mSelectedItem==position)
{
holder.textview.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_right, 0,
0, 0);
}
else
{
holder.textview.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_blank, 0,0, 0);
}
并单击事件以添加此代码
mSelectedItem = getAdapterPosition();
notifyDataSetChanged();