ListView设置某一项item的文本居中

使用ListView和volley写了一个使用网络获取天气的demo

ListView中Item的文本模式都是左侧对齐

我这边需要一些标题文本居中对齐

网上也找不到示例,不过找到了getView这个函数

于是自己摸索出了代码:

方式就是在adapter的getView中判断是否含有指定的item,如果有那么就设置这个item的文本居中:

 1 this.adapter    = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data){
 2             @Override
 3             public boolean isEnabled(int position) {
 4                 return false; //设置item不能点击
 5             }
 6
 7             @Override
 8             public View getView(int position, View convertView, ViewGroup parent) {
 9                 View view   =  super.getView(position, convertView, parent);
10                 TextView et     = (TextView)view;
11                 if(true==et.getText().toString().contains("天的天气")){
12                     et.setGravity(Gravity.CENTER);
13                 }else{
14                     et.setGravity(Gravity.LEFT); //这句是必须的-如果去掉来回滑动几次,会有错误的item居中
15                 }
16                 view        = (View)et;
17                 return view;
18             }
19         };

效果图:(模拟器上截的图,我手机上是显示item之间的横线的,模拟器上不知道为啥不知道不显示!可能模拟器使用的SDK版本和我真机不一样!)

时间: 2024-08-25 20:22:46

ListView设置某一项item的文本居中的相关文章

ListView刷新某一项Item

ListView现在已经很少被使用,但还是在这里列出来说一下,有时候我们仅仅需要改变listView的某个Item,如果调用adapter的notifyDataSetChanged()方法效率不高,并且可能会出现内容闪动,那么我们怎么刷新某一个特定的item呢? 在这里我们以刷新第一个item为例,刷新其它item类似. public void notifyPositionChange(ListView listView) { int visibleFirstPosition = listVie

Listview 设置不同类型的item

要想设置不同的item需要在adapter里面重写两个方法 getItemViewType() 需要注意这个个类型是0开始 getViewTypeCount(); 1 package com.example.listview_01; 2 3 import java.util.List; 4 5 import android.content.Context; 6 import android.view.LayoutInflater; 7 import android.view.View; 8 im

listview当选中某一个item时设置背景色其他的不变

listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和失去焦点时背景颜色的变化 * @author long * */ private class MyOnFocusChangeListener implements OnFocusChangeListener{ @Override public void onFocusChange(View v, b

zabbix的监控项(item)

1.Item简介 "监控项item"是zabbix服务器用于监控一个特定对象上的一个特定指标,并负载针对其他搜集相关的监控数据. 比如CPU每分钟的平均负载可以是一个item,每5分钟的平均负载是一个item,某特定网络接口接收报文的速率又是一个item等. 每一个itme都拥有相应的"类型(Type)" 例如:"Zabbix agent"."SNMP"."External check"."IPM

ListView设置快速滑动时不加载图片

设置ListView 快速滑动不加载要设置滑动监听OnScrollListener, 当快速滑动是设置标志位不请求网络 这个也属于listview优化的一步 设置监听器 1 package com.example.listview_01; 2 3 import android.widget.AbsListView; 4 import android.widget.BaseAdapter; 5 import android.widget.AbsListView.OnScrollListener;

ListView显示不同样式的item

先look图 我们再使用listview时,listview的item大多时候都是一种样式,在很多app中也很常见,但有时候根据需求,可能数据的数量不一样,同个类型的数据显示的位置不同,亦或者有的item需要图片,有的不需要,但是这些又必须在同一个listview中显示,这时我们就需要在listview中显示多种样式的item,首先我们需要考虑的是如何将不同数量的数据装载到ArrayList<~>中呢,先看看下面的listViewItem,. 1 package com.example.ker

Android ListView中 每一项都有不同的布局

实现代码 Adapter的代码 其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局 TYPE_1...是三种类型. 在使用不同布局的时候,getItemViewType和getViewType不能少,一般是不用这两个函数的重载的 class RunRankAdapter extends BaseAdapter { ArrayList<HashMap<String, Object>> ls; Context mContext; LinearLayou

设置与菜单项关联的Activity

在有些时候,应用程序需要单击某个菜单项时启动其他Activity (包括其他Service).对 于这种需求,Android甚至不需要开发者编写任何事件处理代码,只要调用Memiltem的setlntent(lntent intent)方法即可 该方法把该菜单项与指定Intent关联到一起,当用户单击该菜单项时,该Intent所代表的组件将会被启动.        如下程序示范了如何通过菜单项来启动指定Activity.该程序几乎不包含任何界面组件, 因此不给出界面布局文件.该程序的Java文件

Android之ListView设置

Android开发中,我们常使用到ListView视图,下面介绍ListView的几种使用方法. 主界面 首先,在主界面上添加几个按钮,用于界面跳转. 界面布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="mat