SQLIte数据库--ArrayAdapter适配器
来源:互联网 发布:淘宝开店会员名大全 编辑:程序博客网 时间:2024/06/06 02:30
在使用ListView时需要对其进行数据适配。为了实现这个功能,Android系统提供了一系列的适配器对ListView进行适配。可以将适配器理解为截面数据绑定。适配器就像显示器,把复杂的数据按人们易于接受的方式来展示。
这里主要介绍ArrayAdapter。
ArrayAdapter时候BaseAdapter的子类,开发者需要在构造方法里传入相应的参数即可适配数据。
package bzu.edu.cn.news;import android.content.Context;import android.support.annotation.NonNull;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;import com.loopj.android.image.SmartImageView;import java.util.List;public class NewsAdapter extends ArrayAdapter<NewsInfo>{ public NewsAdapter(Context context, List<NewsInfo> objects) { super(context, R.layout.news_item, objects); } @NonNull @Override public View getView(int position, View convertView, ViewGroup parent) { NewsInfo newsinfo= getItem(position);//传递position,获取当前位置对应的newsinfo新闻信息 View view=null; viewHolder viewHolder; if(convertView==null){ //判断convertView中是否加载了布局,有没有缓存。为空说明没有缓存 view=LayoutInflater.from(getContext()).inflate(R.layout.news_item,null); viewHolder=new viewHolder(); viewHolder.siv= (SmartImageView) view.findViewById(R.id.siv_icon); viewHolder.tv_title= (TextView) view.findViewById(R.id.tv_title); viewHolder.tv_description= (TextView) view.findViewById(R.id.tv_description); viewHolder.tv_type= (TextView) view.findViewById(R.id.tv_type); view.setTag(viewHolder); //保存 }else{ view=convertView; viewHolder=(viewHolder) view.getTag(); } viewHolder.tv_title.setText(newsinfo.getTitle());//传递题目 viewHolder.tv_description.setText(newsinfo.getDescription()); viewHolder.tv_type.setText(newsinfo.getType()); return view; } class viewHolder{//添加类,封装需要查找的控件 TextView tv_title; TextView tv_description; TextView tv_type; SmartImageView siv; }}MainActivity中
public class MainActivity extends AppCompatActivity { private ListView lv_news; private LinearLayout loading; private List<NewsInfo> newsInfos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); lv_news=(ListView)findViewById(R.id.lv_news); loading=(LinearLayout)findViewById(R.id.loading); fillData2(); //setContentView(R.layout.activity_main); }
适配器这一块掌握的不好,不会写。所以单独拿出来了。
阅读全文
0 0
- SQLIte数据库--ArrayAdapter适配器
- arrayadapter适配器
- Android适配器之ArrayAdapter
- android arrayadapter 适配器
- ArrayAdapter()与SimpleAdapter()适配器
- Android适配器之 ArrayAdapter
- ListView适配器--ArrayAdapter
- android适配器之ArrayAdapter
- 常用数据适配器ArrayAdapter
- ListView适配器--ArrayAdapter;SimpleAdapter;SimpleCursorAdapter
- 常用的数据适配器ArrayAdapter
- Android之自定义 ArrayAdapter适配器
- ListView(ArrayAdapter数组适配器)
- ListView(ArrayAdapter数组适配器)
- ArrayAdapter做的listview适配器
- ArrayAdapter简单适配器用法Android
- ArrayAdapter(数组适配器)与SimpleAdapter(简单适配器)
- Spinner适配器为ArrayAdapter或者SimpleAdapter
- filter原理
- C语言实现异常机制setjmp() longjmp()
- FreeMarker中常用的一些标签及语句
- Git
- Java中定义常量(Constant) 的几种方法
- SQLIte数据库--ArrayAdapter适配器
- 森林结点数,边数与树个数的关系
- C语言实验——某年某月的天数
- JNI开发之JNI内存泄露
- 和客户谈项目学到的一点
- linux初次使用
- 《netty权威指南》学习笔记2
- android studio 3.0 preview 使用kotlin写android,抛弃findviewbyid
- java HttpClient 爬虫