我有带客户适配器的ListView,当我单击"编辑按钮"并在每行中显示"删除"图标时,我的listView行应设置动画。
所有行都制作动画并显示"删除"图标,但是第一个隐藏项目不会改变,直到我向下滚动列表并在设置动画时看到它。
如何使所有列表项同时设置动画?
我将动画代码放在getView方法的CustomerAdapter类中。
码:
public View getView(int position,View convertView,ViewGroup parent){
View view = convertView;
ViewHolder holder;
if(convertView==null){
view = inflater.inflate(R.layout.layout,parent,false);
holder = new ViewHolder();
holder.title = (TextView) vi.findViewById(R.id._title_textview);
holder.content=(LinearLayout)vi.findViewById(R.id.content_layout);
holder.deleteIcon=(LinearLayout)vi.findViewById(R.id.delete_layout);
holder.img=(ImageView)vi.findViewById(R.id._main_img);
view.setTag( holder );
}
else
holder=(ViewHolder)vi.getTag();
if(MainActivity.click_edit_btn)
{
animation_right_to_left(holder.content_layout);
holder.deleteIcon.setVisibility(View.VISIBLE);
}
if(MainActivity.click_done_btn)
{
animation_left_to_right(holder.content_layout);
holder.deleteIcon.setVisibility(View.GONE);
}
if(data.size()<=0)
holder.title.setText("No Data");
else
{
tempValues=null;
tempValues = ( ListItemModel ) data.get( position );
holder.title.setText( tempValues.getTitle() );
holder.type.setText( tempValues.getType() );
}
return view;
}
活动代码:
公共类MainActivity扩展Activity
{
。
。
。
。
。
adapter = new CustomerAdapter( CustomListView, listData ,res );
list.setAdapter( adapter );
edit_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
click_edit_btn = true;
click_done_btn = false;
adapter.notifydatasetchanged();
}
});
delete_done_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
click_edit_btn = false;
click_done_btn = true;
adapter.notifydatasetchanged();
}
});
}
您可以留下一些代码来查看
@Amjad欢迎使用StackOverFlow。正如第一条评论中指出的那样,为了使人们能够为您的问题提供适当的解决方案,问题必须更清楚并提供代码,以便人们可以查看并轻松定位问题。
@ Want2bExpert,sioesi谢谢,我编辑了我的问题。
尝试在活动或片段类中的list.setAdapter之后调用youradapter.notifydatasetchanged()。
我做到了,但没有改变
顺便问一下,最后还有什么。我相信这个if(click_done_btn)代表button.onClickListener吗?
抱歉,我编辑了代码,忘记了复制某些行....(click_done_btn)表示我已完成删除项目,并且我想隐藏删除图标。我粘贴有问题的活动代码。
尝试在每个onClickListener中有一个新处理程序,以在单击按钮时更新视图
我会尝试的
我找到了" ListView回收机制"stackoverflow.com/questions/11945563/…的解释,它将解释问题...谢谢您的帮助@ Wants2bExpert
此链接说明ListView的工作原理...它与列表有关
ListViews回收机制如何工作
谢谢@Muhammad Babar