java – 自定义适配器,所选项目背景
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 自定义适配器,所选项目背景,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3362字,纯文字阅读大概需要5分钟。
内容图文
![java – 自定义适配器,所选项目背景](/upload/InfoBanner/zyjiaocheng/710/854447d7d0e74c30aba36e962db8e15a.jpg)
我有自定义适配器视图的问题.
我尝试,更改Click事件的视图背景.
我有AdapterView.OnItemClickListener,我得到所选项目,并调用myListView.invalidate();
无效后,调用适配器getView(…).这里是代码:
@覆盖
public View getView(int position,View convertView,ViewGroup parent){
View row = convertView;
ProjectAdapterData projectItem;
if (row == null) {
LayoutInflater inflater = LayoutInflater.from(context);
row = inflater.inflate(R.layout.project_small_item_layout, null);
ProjectAdapterData projectAdapterData = new ProjectAdapterData();
row.setTag(projectAdapterData);
name = (TextView)row.findViewById(R.id.txtObjectName);
if (objectData[position].Name!= null)
name.setText(objectData[position].Name);
adress = (TextView)row.findViewById(R.id.txtObjectAdress);
if (objectData[position].Adress != null)
adress.setText(objectData[position].Adress);
}
else {
background = (RelativeLayout)row.findViewById(R.id.rlProjectBackground);
if (objectData[position].isSelected)
background.setBackgroundColor(context.getResources().getColor(R.color.cProjectSelected));
else
background.setBackgroundResource(R.color.cProjectUnSelected); //it's calls, but no result
row.invalidate();
}
return row;
}
我的问题,为什么背景不会改变?
我的selector_list
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="@color/cProjectSelected"/>
<item android:state_selected="false"
android:color="@color/cProjectUnSelected"/>
</selector>
解决方法:
您可以使用选择器突出显示项目
在drawable文件夹中创建一个xml文件
list_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:drawable="@color/blue" android:state_activated="true"/>
<item android:drawable="@color/blue" android:state_selected="true"/>
<item android:drawable="@color/transparent"/>
</selector>
并在列表视图中为xml设置listSelector
android:listSelector="@drawable/list_selector"
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="BLACK">#000000</color>
<color name="WHITE">#FFFFFF</color>
<color name="light_grey">#a5acb0</color>
<color name="brown">#525964</color>
<color name="dark_grey">#212121</color>
<color name="aqua">#a6b1ba</color>
<color name="red_cherry">#C9282D</color>
<color name="silver">#A9A9A9</color>
<color name="black">#000000</color>
<color name="transparent">#00000000</color>
<color name="white">#FFFFFF</color>
<color name="blue">#00aceb</color>
<color name="spiritclips_bck">#8AB8E0</color>
<color name="translucent_black">#55000000</color>
<color name="grid_bck">#627583</color>
<color name="grey">#393430</color>
<color name="dark_grey_bg">#1f1c17</color>
<color name="login_font_color_1">#546778</color>
<color name="login_font_color_2">#8E8E8E</color>
<color name="blue_txt">#0f5690</color>
</resources>
对于custom_list_item,布局应该是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?android:attr/activatedBackgroundIndicator" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
and minimum version of your application should be 11
内容总结
以上是互联网集市为您收集整理的java – 自定义适配器,所选项目背景全部内容,希望文章能够帮你解决java – 自定义适配器,所选项目背景所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。