android listView 点击自定义 Listview 项目,更新背景图片

文章标签: android,android-listview
2014-11-3 13:23:16     人阅读    

我在使用 自定义ListView进行开发,如下配置
<ListView
        android:id="@+id/lstHome"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:drawSelectorOnTop="false"
        android:cacheColorHint="#3d4241"
        android:clickable="true"
        android:listSelector="@drawable/listbackground">
    </ListView>

 listbackground.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@android:color/transparent" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@drawable/list_background" android:state_pressed="true"/>
<item android:drawable="@drawable/list_background" android:state_pressed="false" android:state_selected="true"/>
</selector>

 

当我点击listView条目的时候背景知识闪烁,这不是我要的效果。我想展示背景图片,我在listView中 用的是  android:attr/activatedBackgroundIndicator 

 

 

处理方法


  你需要在你的listview中使用自定义适配器,详细的解决方法参考如下代码

@Override
public long getItemId(int position) {
    return super.getItemId(position);
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
     view = inflater.inflate(R.layout.listitem, null);
    layout = (LinearLayout)view.findViewById(R.id.linearlayoutSample);;
    TextView text1 = (TextView) view.findViewById(R.id.item1);
    TextView text2 = (TextView) view.findViewById(R.id.item2);
    layout.setBackgroundColor(Color.BLACK);
    text1.setText(mlist.get(position).getListitem1());
    text2.setText(mlist.get(position).getListitem2());
    layout.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(start==0)
            {
                mLastView = v;
                start++;
            }

            if(start>0)
            {
                mLastView.setBackgroundColor(Color.BLACK);
                mLastView = v;
            }

            v.setBackgroundColor(Color.GRAY);
        }
    });
    return view;
}

}

 

 


原文地址:http://www.itmmd.com/201411/110.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

如何在listView中使用 SwipeRefreshLayout ,SwipeRefreshLayout 的例子   上一篇
下一篇  android 开发在适配器中调用了 Navigation Drawer Listview 不更新 的问题
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!