ListView 点击某一项换背景图片

1. layout_search_list_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#D5D5D5"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/search_listview_item_img"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
         />

    <TextView
        android:id="@+id/news_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="@dimen/search_hint_size"
       />

</LinearLayout>

2. 主布局插入listvie

<ListView
                android:id="@+id/search_word_list"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
/>

3. 主 .Java文件中

adapter = new SearchAdapter(this,R.layout.layout_search_list_item,
                poiListList);
        search_word_list.setAdapter(adapter);

        search_word_list.setOnItemClickListener(this);
    private  int last_item_position = -1;
    private ImageView oldImageView;
    @Override
    public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {

        ImageView imageView = (ImageView) view.findViewById(R.id.search_listview_item_img);
        imageView.setBackgroundResource(R.drawable.image_floor_color);
        //android 获取其他layout,如果仅仅还设置点击项目的改变其背景图片,点击positon可能会有重复
         //之前点过的还原
        if (last_item_position!=-1&& last_item_position != position) {
            oldImageView.setBackgroundResource(R.drawable.image_floor_gary);//把上次选中的样式去掉
        }
        oldImageView = imageView;
        last_item_position = position;
    }
    public class SearchAdapter extends ArrayAdapter<GetResultFromPOIName.PoiList> {
        private int resourceId;
        private ImageView imageView ;
        public SearchAdapter(Context context, int textViewResourceId,
                List<GetResultFromPOIName.PoiList> objects) {
            super(context, textViewResourceId, objects);
            resourceId = textViewResourceId;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            PoiList poiList = getItem(position);
             View view;

            if (convertView == null) {
                view = LayoutInflater.from(getContext()).inflate(resourceId, null);
            } else {
                view = convertView;
            }
                 
            imageView = (ImageView) view.findViewById(R.id.search_listview_item_img);
            if (last_item_position == position) {
                //解决滑动listview的时候,选中的条目选中效果消失问题
                // textView.setBackgroundColor(Color.BLUE);
                imageView.setBackgroundResource(R.drawable.image_floor_color);
            } else {
                // textView.setBackgroundColor(Color.WHITE);
                imageView.setBackgroundResource(R.drawable.image_floor_gary);
            }
            return view;
        }
时间: 2024-10-11 13:28:51

ListView 点击某一项换背景图片的相关文章

uwp开发————换背景图片

原文:uwp开发----换背景图片 用后台代码来实现对容器背景的切换,用本地图片作为背景. 把需要的图片素材放到Assets文件夹下 前台xaml代码如下: <Grid x:Name="gd_backimage"> </Grid> 就是起了个名字... 后台c#代码 ImageBrush imageBrush = new ImageBrush(); imageBrush.ImageSource = new BitmapImage(new Uri("ms

ppt怎么换背景图片|PPT换背景设置方法

PPT怎么换背景?PPT背景可谓是PPT幻灯片的灵魂,优美绚丽的PPT背景能为自己做的PPT幻灯片锦上添花.今天,格子啦小编就教大家PPT换背景的方法,让你不再羡慕别人所做PPT的美丽背景,也可以自己制作. PPT换背景第一步. 在进行制作之前我们首先需要下载幻灯片制作工具PowerPoint. PPT换背景第二步. 然后我们点击设计选项(如下图红线标注处所示),我们会发现这里有很多系统自带的设计模板,从中随便选择一个然后点击,会看见原来的幻灯片背景已经改变了. 当我们在点击新建幻灯片的时候是不

初学ToggleButton 点击按钮,更换按钮背景图片;再次点击,恢复之前背景图

上方的图标,R.drawable.register_checked  是选中图片 下方的图标,   R.drawable.register_unchecked 是未选中图片 默认是上方的选中效果.点击按钮,取消选中:再次点击按钮,再次选中. 其实这是两张图片.关键在于图片必须跟着按钮改变. 一开始想用Button实现,纠结了很久,只有按上去和松开的效果,并没有点击后变背景图片的效果. 后来百度了很久,找到可以 用ToggleButton实现我想要的效果,在这里与大家分享. XML: androi

android怎么换背景图片

我不晓得一般是怎么做的,但是至少可以用两种方法,一种是用一个全屏的ImageView来当作背景,通过修改imageview来修改背景图片,一种是将你xml中最外层的那个布局,LinerLayout之类的,添加id属性,在程序中通过这个来setbackgroundResource. 我添加了没问题啊.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientat

ListView点击或选中item改变背景

点击或选中ListView中的一项后,使item背景改变,失去焦点同样显示选中的背景,重新选中另外一项才刷新: 在Adapter中配置: public class MyAdapter extends BaseAdapter{ int mSelect = 0; //选中项 ...... public void changeSelected(int positon){ //刷新方法 if(positon != mSelect){ mSelect = positon; notifyDataSetCha

光影魔术手抠图、换背景图文教程

很多网友想制作抠图,加背景合成图片,小编在这里向朋友们介绍一项非常简单实用的抠图合成技巧.那就是用光影魔术手来制作.以下是我学习制作的心得体会,与朋友们分享. 现在我们用光影魔术手来制作抠图及添加背景图片.需要注意的是抠取出来的前景图片大小.方向一定要适合背景图片,图片本身前景和背景差异比较大.且边缘较清晰的图抠取出来也就容易很多. 制作前大家先准备好一张需要抠取的前景图片和一张背景图片.这是需要抠取的前景图片: 下面是一张要合成的背景图片,为了配合前景图片,背景图片是经过缩小以后的效果图, 大

JS-定时器换背景

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title></head> <body> <input type="button" value="换背景吧" /

Android中Listview点击item不变颜色以及设置listselector 无效

这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listselector,有一个默认的颜色,同理如果点击没颜色变化我们怎么设置listselector也不会变颜色的. 但是在我们的开发过程中,我们可能会碰到这样的问题listview点击不变颜色,总结了一下大概有这几种原因: 1.item的layout设置background颜色值,去掉背景颜色即可 2.listview中listselector属性的效果被覆盖了,比如列表的Item为一个占满单元格的I

android中的Selector的用法---主要是改变ListView和Button控件的默认背景

Selector属性介绍: android:state_selected选中 android:state_focused获得焦点 android:state_pressed点击 android:state_enabled设置是否响应事件,指所有事件 用例介绍: 1.创建listview_selector.xml样式文件 首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建listview_selector.xml文件,其目录结构为:res/drawable/lis