我使用Listview
生成了SimpleAdapter
。我想将点击的行的背景颜色更改为黑色。当我在Listview中只有一行时,背景颜色设置为黑色。但是当我在Listview中有多行时,即使我点击第一行,最后一行的颜色也会变为黑色。任何人都可以建议任何解决方案吗?
我的代码如下:
public class mycontacts extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.mycontacts_activity, container,
false);
SimpleAdapter k=new SimpleAdapter(getActivity(),val,R.layout.contact2,new String[]{"name","path","id"},new int[]{R.id.example_itemname,R.id.path,R.id.contactid})
{
@Override
public View getView (int position, View convertView, ViewGroup parent)
{
final View v = super.getView(position, convertView, parent);
final RelativeLayout l=(RelativeLayout)v.findViewById(R.id.front);
swipy.setSwipeListViewListener(new BaseSwipeListViewListener(){
@Override
public void onClickFrontView(int position) {
// TODO Auto-generated method stub
super.onClickFrontView(position);
l.setBackgroundColor(Color.BLACK);
}
});
return v;
}
};
swipy.setAdapter(k);
return view;
}
答案 0 :(得分:0)
我会在你的情况下为ListView使用自定义适配器。您可以通过扩展BaseAdapter类来创建一个。看看这个教程
您可以基本上将OnClickListener
与getView()
方法中的每个视图对齐。
OnClickListener:
private class ItemClick implements OnClickListener{
public void onClick(View v){
v.setBackgroundColor(Color.BLACK);
}
}