如何在Android中更改列表项的背景颜色?

时间:2013-10-25 10:01:21

标签: android listview long-click

如何更改android中列表项的长按背景颜色,现在我可以使用下面的代码获取列表项的位置onlongclick。

 listView.setOnItemLongClickListener(new OnItemLongClickListener() {

     public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
             int pos, long id) {
         // TODO Auto-generated method stub

         Log.v("long clicked","pos: " + pos);

         return true;
     }
 }); 

任何帮助都会受到赞赏,谢谢

3 个答案:

答案 0 :(得分:3)

我在这篇文章中找到了一个可能的解决方案:Changing background color of ListView items on Android

    private static int save = -1;

public void onListItemClick(ListView parent, View v, int position, long id) { 

    parent.getChildAt(position).setBackgroundColor(Color.BLUE);

    if (save != -1 && save != position){
        parent.getChildAt(save).setBackgroundColor(Color.BLACK);
    }

    save = position;                

}

将方法更改为onItemLongClick()。

我希望这有帮助!

答案 1 :(得分:2)

试试这个,

listView.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> arg0, View view,
                    int arg2, long arg3) {

                view.setBackgroundColor(Color.parseColor("#222222"));
                Log.v("Long Click", "Working");
                return false;
            }
        });

答案 2 :(得分:0)

onItemLongClick()

中试试这个
public View view1;// should be declared as global
if (view1 != null) {
    view1.setBackgroundResource(R.color.orange);
}
view1 = v;
v.setBackgroundResource(R.color.transparent_green);