androidadapter数据
❶ android 数组获取数据后如何通知adapter更新
1、adpter.notifyDataSetChanged();
2、例子
java">{
privateListViewlistView;
privateMyAdaptermyAdapter;
privateList<Map<String,Object>>datas;
publicContextcontext;
privateString[]from=newString[]{"color","name"};
privateint[]to=newint[]{R.id.color,R.id.name};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.file_select_layout);
datas=newArrayList<Map<String,Object>>();
myAdapter=newMyAdapter(context);
listView.setAdapter(myAdapter);
}
publicvoidsetDatas(Stringstr){
// Stringstr="[{"color":"#3EA2FF","name":"居民楼"},{"color":"#FCF1CA","name":"商业楼"},{"color":"#D8424F","name":"单位院"}]";
LayoutInflatermInflater=LayoutInflater.from(context);
Viewview=mInflater.inflate(R.layout.legend_item,null);
if(!TextUtils.isEmpty(str))){
try{
List<Legend>legendList=JSONObject.parseArray(str,Legend.class);
if(legendList!=null){
HashMap<String,Object>map;
for(Legendl:legendList){
map=newHashMap<String,Object>();
map.put(from[0],Color.parseColor(l.getColor()));
map.put(from[1],l.getName());
data.add(map);
}
}
}catch(Exceptione){
//TODO:handleexception
}
}
this.datas=data;
myAdapter.notifyDataSetChanged();
}
{
publicfinalclassViewHolder{
publicImageViewcolor;
publicTextViewname;
}
;
publicMyAdapter(Contextcontext){
this.mInflater=LayoutInflater.from(context);
}
publicintgetCount(){
returndatas.size();
}
publicObjectgetItem(intarg0){
returnnull;
}
publiclonggetItemId(intarg0){
return0;
}
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHolderholder=null;
if(convertView==null){
holder=newViewHolder();
convertView=mInflater.inflate(R.layout.legend_item,null);
holder.color=(ImageView)convertView.findViewById(to[0]);
holder.name=(TextView)convertView.findViewById(to[1]);
convertView.setTag(holder);
}else{
holder=(ViewHolder)convertView.getTag();
}
holder.color.setBackgroundColor((Integer)datas.get(position).get(from[0]));
holder.name.setText((String)datas.get(position).get(from[1]));
returnconvertView;
}
}
};
3、分析
setDatas(Stringstr)是设置数据的并更新listView的方法,解析好数据后,调用adpter.notifyDataSetChanged();更新。
4、结果
❷ android中的适配器是什么
适配器就是就是把一些数据给弄得适当,适合以便于在View上显示。
1、Android适配器是数据和视图之间的桥梁,以便于数据在View上显示。适配器就像显示器,把复杂局笑的东西按人可以接受的方式来展现。我们弊察常用的适配器一共有三个:ArrayAdapter,SimpleAdapter,SimpleCursorAdapter 这三个,他们都是继承于BaseAdapter 。
2、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能桐卜含手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。
❸ android如何在adapter更新数据
data = new ArrayList<Info>(); //存放数据的列表,以后只更新它就可以了
adapter = new page_ListAdapter(this, data); //适配器,一个类,继承自BaseAdapter
listview.setAdapter(adapter); //列表视图上绑定适配器
以上几步就建立了数据与控件之间的关,以后更新data就可以了,界面会自动刷新。
附:适配器类在大体如下所示:
class page_ListAdapter extends BaseAdapter {
public page_ListAdapter(Activity context, List<Info> list) {
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//这里构建每一行的界面
}
}
❹ android listview怎么更新数据
0、本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged();方法使得listview界面自动更新。
操作:
1、List<String> strName = new ArrayList<String>();//实际的数据源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName);//适配器,其中 R.layout.xmlforitem是列表中每一项的布局,可以用默认的也可自建,strName则是将数据源绑定到适配器
3、listView.setAdapter(adapter);//将适配器绑定到列表显示控件ListView;
4、strName.add("TEST ONE");//增加一项,引起list变化,Adapter也随之变化;
5、adapter.notifyDataSetChanged();//调用notifyDataSetChanged();更新适配器,ListView会自动刷新,notifyDataSetChanged()方法可能需要在UI线程中调用,建议自行测试;
6、数据增加可能引起内存变化,需防内存溢出;
7、其他。
以上仅供参考,建议多搜索相关文档。
❺ android控件listview怎样显示数据库数据呢
先创建一个帮助类BaseHelper,继承SQLiteOpenHelper,然后在获得读取的权限,BaseHelper.getReadableDatabase();查询:Cursor cursor = db.query(TABLE_NAME,str,null,null,null,null,null);,接着放到adapter里面然后就显示出来SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.showcontact, cursor, FROM, TO);
setListAdapter(adapter);。大概流程就这样,具体看帮助文档或者网络+google
❻ Android-android中的adapter数据在哪里加载较好
apapter使数据绑神凳定到控件变得更加简单和灵活...
用途为容器提供子视图,利用视图的数据和元数据来构建每个槐瞎闭子视图。有 arrayAdapter ,simpleCursorAdapter, cursorAdapter resourceCursorAdapter 如果铅裂需要自定义适配器 可以扩展抽象类BaseAdapter
❼ android中Adapter有什么作用常见的Adapter有哪些
Adapter即适配器,适配器的作用是允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。
常见的Adapter如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。
适配器模式主要应用于,当接口里定义的方法无法满足客户的需求,或者说接口里定义的方法的名称或者方法界面与客户需求有冲突的情况。
(7)androidadapter数据扩展阅读
Adapter主要在View上显示,可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。
ArrayAdapter,SimpleAdapter,SimpleCursorAdapter这三个都是继承BaseAdapter,BaseAdapter是一个抽象类,需要子类继承并实现其中的方法才能使用,常用于用户自定义适配器时,显示比较复杂的数据。
❽ android两种数据类型怎么塞到一个adapter
使用适配器。适配器就是把多种数据给弄得适当,适合以便于显示,将android两种数据放到一个适配器里即可。
❾ Android中Adapter刷新数据问题
首先如果数据从数据库得到,建议Adapter继承CursorAdapter,另外不应该每次返回都进行刷新,应该有数据的改变再进行刷新,利用ContentProvider监听数据的变化,然后访问数据库,重新加载数据。
❿ android 自定义adapter加载数据加载不进去 是什么原因
你为雹亏肆listview加了设配器了吗:mlistView.setAdapter(),还有,你设置成设配器之前,nameAndprice 里边有没有item,如果空坦先设置了设配器,然后再获取数据,那么listview是不会显示的源轿