博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView点击或选中item改变背景
阅读量:5309 次
发布时间:2019-06-14

本文共 2246 字,大约阅读时间需要 7 分钟。

点击或选中ListView中的一项后。使item背景改变,失去焦点相同显示选中的背景。又一次选中另外一项才刷新;

在Adapter中配置:

public class MyAdapter extends BaseAdapter{ int mSelect = 0;   //选中项     ...... public void changeSelected(int positon){ //刷新方法     if(positon != mSelect){      mSelect = positon;     notifyDataSetChanged();     }    }public View getView(int position, View convertView, ViewGroup parent) {//     if(convertView==null){        LayoutInflater factory = LayoutInflater.from(context);        View v = (View) factory.inflate(R.layout.list_item, null);        TextView tv = (TextView) v.findViewById(R.id.Item_tv);        tv.setText("test");//     }        if(mSelect==position){             v.setBackgroundResource(R.drawable.fc_bg);  //选中项背景        }else{         v.setBackgroundResource(R.drawable.bg);  //其它项背景        }                return v;    }}

 

配置好了之后,以下就是应用:

...........mAdapter = new MyAdapter(...);myList.setAdapter(mAdapter);//点击监听myList.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView
parent, View view, int position, long id) { mAdapter.changeSelected(position);//刷新 }......}选中监听myList.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView
parent, View view, int position, long id) { mAdapter.changeSelected(position);//刷新 }......}

 

-------------------------------------------------------------------------------------

监听view获得焦点或按下等状态的背景,能够用selector。

    在res--drawable中配置样式文件,如button_style.xml

  

> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/btn_bg_fc" /><!--按下时的背景--> <item android:state_focused="true" android:drawable="@drawable/btn_bg_fc" /><!--获得焦点时的背景--> <item android:state_selected="true" android:drawable="@drawable/btn_bg_fc" /><!--选中状态的背景--> <item android:drawable="@drawable/btn_bg" /> <!--默认背景--> </selector>

    用在Listview,gridview中

       <ListView

          ......

         android:listSelector="@drawable/button_style"

         ......> </ListView>

     用于其它View,如Button,textview等

         android:background="@drawable/button_style"

 

转载于:https://www.cnblogs.com/llguanli/p/6944744.html

你可能感兴趣的文章
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>
00-自测1. 打印沙漏
查看>>
UNITY在VS中调试
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>
Android ViewPager 动画效果
查看>>
pip和easy_install使用方式
查看>>
博弈论
查看>>
Redis sentinel & cluster 原理分析
查看>>
我的工作习惯小结
查看>>
把word文档中的所有图片导出
查看>>
浏览器的判断;
查看>>
ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
查看>>
Leetcode 589. N-ary Tree Preorder Traversal
查看>>