adapterandroid
发布时间: 2022-05-01 06:44:33
❶ Android中Adapter刷新数据问题
首先如果数据从数据库得到,建议Adapter继承CursorAdapter,另外不应该每次返回都进行刷新,应该有数据的改变再进行刷新,利用ContentProvider监听数据的变化,然后访问数据库,重新加载数据。
❷ Android 一个页面不能同时加载多个Adapter吗
当然可以同时加载多个Adapter,Adapter它是数据和UI(View)之间一个重要的纽带,负责为相关的组件提供数据桥梁。
但是需要说明以下几点,以ListView使用Adapter为例:
1、如果使用多个Adapter,当然相对于的需要多个ListView对应
2、Adapter是数据的桥梁,ListView配备不同的Adapter会显示不同的内容
3、Adapter只是一种数据适配器,只要页面需要Adapter,需要多少Adapter来显示数据都是可以的。
❸ android 里怎么用adapter写下拉菜单选择
所使用的工具:电脑
开发工具:eclipse for Android , Android Studio
用adapter 写下拉菜单需要我们自己进行自定义,具体步骤如下:
1、自定义类,类成员与需要显示的字段一致;
java">publicclassManufacture{
privateStringname;
publicManufacture(Stringname){
super();
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
}
2、自定义adapter并继承自BaseAdapter实现相应方法,下面是贴出的代码示例:
{
privateList<Manufacture>mList;
privateContextcontext;
//创建有参构造,参数需要传入两个1.自定义类类型的List,上下文参数
publicMnufactureAdapter(List<Manufacture>mList,Contextcontext){
super();
this.mList=mList;
this.context=context;
}
//返回长度位所定义List的长度
@Override
publicintgetCount(){
returnmList.size();
}
//返回位置为自定义list当前位置
@Override
publicObjectgetItem(intposition){
returnmList.get(position)
;
}
//返回条目的ID
@Override
publiclonggetItemId(intposition){
returnposition;
}
//这里getView需方法需要重点说明和注意:
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
//创建一个LayoutInflater并传入上下文
LayoutInflaterlinflater=LayoutInflater.from(context);
//添加自定义item布局到convertView;(item内容和样式通过自定义方式实现)
convertView=linflater.inflate(R.layout.spinner_item_layout,null);
//初始化Item中控件
TextViewtextView=(TextView)convertView.findViewById(R.id.manufacture_list);
//设置控件显示内容
textView.setText(mList.get(position).getName());
returnconvertView;
}
}
3、在activity中需要添加如下代码:
//初始化布局文件中的spinner
SpinnermSpinner=(Spinner)findViewById(R.id.spinner1);
//初始化自定义的List,并往里面添加数据
List<Manufacture>manufacture=newArrayList<Manufacture>();
接着就是添加数据,在项目中我是添加的从网络上下载的数据解析之后进行添加的,具体的添加方式根据具体需要进行添加,我把自己的贴在下面供大家参考:
for(inti=0;i<list.size();i++){
//添加数据源
manufacture.add(newManufacture(list.get(i).getName()));
}
//实例化一个之前自定义的adapter并向里面添加数据
MnufactureAdaptermadapter=newMnufactureAdapter(manufacture,ProctManageActivity.this);
参数说明:第一个参数是添加数据源后的List,第二个是当前activity的上下文。
最后一步,向spinner里面添加数据源
mSpinner.setAdapter(madapter);
热点内容