比如说我们已经得到了数据,想在一个listview或者在其他的控件中显示的,并且我们显示想要自己设计样式来显示的话就要用到自定义适配器了,下面让我们结合代码讲一下具体的使用方法:

代码会有注释的哦:

截取的一段得取数据的代码(实例按照读者自己写的代码而定)

 private void selectSpinner(String title,String linNum){
int i = 1 ;
AppMainRoadInfoTab appMainRoadInfoTab = (AppMainRoadInfoTab) getActivity();
SQLiteDatabase db = appMainRoadInfoTab.getDbHelper().getReadableDatabase();
Cursor c = db.rawQuery("select * from tb_Stations inner join tb_carinfo on tb_Stations.LineID = tb_carinfo.LineID where tb_carinfo.Title ='"+title+"' and tb_carinfo.LineNum='"+linNum+"'", null);
List<String> items = new ArrayList<String>();
while(c.moveToNext()){
String name= i +"."+c.getString(c.getColumnIndex("StationName"));
String booble = c.getString(c.getColumnIndex("IsStop"));
if(booble.equals("false")){
name= null;
continue;
}else{
items.add(name);
}
i++;
}
NewBaseAdapter adapter=new NewBaseAdapter(this.getActivity(), items, R.layout.bus_listview_item);
listView.setAdapter(adapter);
}

 第一:比如说我们上述得到了一个String 类型的一个l组ist数据想让这个组数据按照我们心中的样式展现出来,展现出来的话我们就要新建一个xml文件存放你写的控件,还有你自己配置的属性,下面给大家简单的贴一下我写的xml文件代码:listitem.xml

<?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" > <TextView
android:id="@+id/myListData"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:textSize="20sp"
android:textColor="#C1FFC1"
/>
</LinearLayout>

第二:我们就要新建我们的自定义设配器了代码如下:

 package com.iflytek.adapter;

 import java.util.ArrayList;
import java.util.List; import com.iflytek.iflytekbus.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView; public class NewBaseAdapter extends BaseAdapter{ private Context context;
private ArrayList<String> list;
private int resource;
private LayoutInflater inflater;
public NewBaseAdapter(Context context,List<String> items ,int resource) {
// TODO Auto-generated constructor stub
this.context=context;
this.inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.list=(ArrayList<String>) items;
this.resource=resource;
}
private class ViewHolder{
private TextView txtView;
}
@Override
public int getCount() {//返回list的所有数量
// TODO Auto-generated method stub
return list.size();
} @Override
public Object getItem(int arg0) {//当前的一个对象
// TODO Auto-generated method stub
return list.get(arg0);
} @Override
public long getItemId(int arg0) {//当前对象的一个索引
// TODO Auto-generated method stub
return arg0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder=new ViewHolder();
if(convertView==null){
String string=list.get(position).toString();
convertView=inflater.inflate(resource, null);
holder.txtView=(TextView)convertView.findViewById(R.id.myListData);
holder.txtView.setText(string);
}
else {
holder=(ViewHolder)convertView.getTag();
}
return convertView;
} }

以上是自定义设配器,在代码中55行就是引用上面的样式布局文件,在界面上显示的效果也就是自己在这个布局文件显示的效果

注意啦:设配器虽然设置好了,我们要引用啊:看第一帖代码的18和19行,里面的参数之一要对应你设置的参数。

不懂的可以留言...一一解释。

最新文章

  1. nginx负载SignalR
  2. NFSv4的引用,迁移和备份(用户手册 v0.2)
  3. js 模仿块级作用域(私有作用域)、私有变量
  4. 如何生成HTMLTestRunner报告
  5. 省时的浏览器同步测试工具 browsersync NodeJS
  6. Oracle查看LogMiner的详解
  7. 整体刷新和局部刷新frameset窗口(转)
  8. 制作cdlinux u盘启动
  9. panel的autoscroll属性不起作用
  10. fir.im Weekly - 可能是 2017 最好的 Swift 学习资源
  11. 更新版PowerBI发布了-- Power BI Report Server Update – March 2018
  12. burp基本使用
  13. 简述DDOS攻击的工作原理
  14. 阿里云主机Nginx下配置NodeJS、Express和Forever
  15. VirtualBox安装CENTOS7.3常见问题
  16. Java - 31 Java 发送邮件
  17. sqlalchemy 获取计数 count
  18. sencha touch 小米3无法点击问题 修复
  19. Swift的Optional类型
  20. 字符串转码【String.getBytes()和new String()】

热门文章

  1. Centos7下安装破解confluence6.3
  2. App Center编译React Native平台Android应用
  3. vmware漏洞之二——简评:实战VMware虚拟机逃逸漏洞
  4. ZUFEOJ 2147 07染色带谜题
  5. SVN版本控制软件
  6. Sqli-labs less 7
  7. poj 2262 筛法求素数(巧妙利用数组下标!)
  8. 【BZOJ 2744】 2744: [HEOI2012]朋友圈 (最大团,二分图匹配,构图)
  9. [HDU1542]Atlantis(扫描线+线段树)
  10. AGC 012 D - Colorful Balls