SimpleCursorAdapter获取url最后一个参数数具体写什么

SimpleCursorAdapter最后一个参数具体写什么_百度知道
SimpleCursorAdapter最后一个参数具体写什么
我有更好的答案
layout.item, c
, new String[]{&_id&,&name&,如果无需监听ContentProvider的改变,则可以传0。对于SimpleCursorAdapter适配器的Cursor的改变,R,而Loader一般返回的就是一个Cursor的数据。
accountLV.setAdapter(new SimpleCursorAdapter(this, R.swapCursor(Cursor)方法,它会与旧的Cursor互换,并且返回旧的Cursor。下面是构造函数的签名:
SimpleCursorAdapter(Context context,int layout.id.balanceTV}
,&quot,可以使用BaseAdapter的一个子类SimpleCursorAdapter,但是有一个构造函数在API Level11之后就不推荐使用,R,它可以使用XML资源文件自定义一个布局在展示数据。它有两个构造函数,Cursor c,String[] from,int[] to.id.nameTV,int flags).
最后一个参数flags是一个标识.id.idTV,标识当数据改变调用onContentChanged()的时候,是否通知ContentProvider数据的改变,可以使用SimpleCursorAbalance&}
, new int[]{R  在Android中,数据的展示都需要使用一个Adapter适配器
资深电脑人
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
最近在做一个短信应用,需要将系统的短信数据读取出来,并显示在listview中,但是由于短信数据本身并不是十分适合于软件用户直接阅读。必须将短信内容适当修改后才能更为用户接受。刚开始我用的SimpleAdapter实现,但是后来发现使用SimpleAdapter实现的话,列表的渲染速度很慢,于是决定改用SimpleCursorAdapter,但是刚开始时不知道怎么将数据修改后添加到lsitview中。后来发现重写CursorAdapter中的newView()和bindView()方法即可自定义数据和组件的绑定过程,更重要的是种方法绑定效率十分的高。下面是部分主要过程及代码:
1、得到要绑定的cursor对象,我使用managedQuery()方法得到。
2、写一个继承自CursorAdapter抽象类的类,并重写其中的bindView()、newView()及构造方法。
class myCursorAdapter extends CursorAdapter {
private LayoutInflater mI
private Context mC
TextView add_
public myCursorAdapter(Context context, Cursor c) {
super(context, c);
mContext =
mInflater = LayoutInflater.from(context);
public void bindView(View view, Context context, Cursor cursor) {
String body = cursor.getString(cursor.getColumnIndex("body"));
String date = cursor.getString(cursor.getColumnIndex("date"));
TextView address_TV = (TextView)view.findViewById(R.id.TelNumber_Content);
TextView dateString_TV = (TextView)view.findViewById(R.id.Time_Date);
address_TV.setText("我" + ":" + body);
dateString_TV.setText(date);
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return mInflater.inflate(R.layout.conversation_list_item,parent,false);
//一般都这样写,返回列表行元素,注意这里返回的就是bindView中的view
浏览: 48290 次
新建一个标记FLAG,将其初始化为ture,在需要退出时,将F ...
怎么一直运行? 在哪里退出呢?
while(ture)
{
} ...
博主,你好,我最近也在做学校的课题。是关于短信安全的,用维吉尼 ...
我也报了这个错. 直接错误是没错. Android调试确实不太 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'下次自动登录
现在的位置:
& 综合 & 正文
SimpleCursorAdapter修改数据前端显示
众所周知,用SimpCursorAdapter可以很方便的把数据库中的数据绑定到前台显示,但是有时候数据库中取出的数据,并不是我们要直接显示的数据,而是想稍作修改再表示出来,比如时间在数据库中一般是以毫秒(milisecond)显示,但此时你需要的数据可能是采用时分秒的形式表示的,那么此时怎么办呢。
也许你会采用自定义一个继承自cursorAdapter 的适配器,然后重写。不错,这是个不错的方法,很原始,也很实用。但这里还有另一种比较简单的方法。
private SimpleCursorAdapter.ViewBinder viewBinder=new SimpleCursorAdapter.ViewBinder() {
创建一个viewBinder
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
// TODO Auto-generated method stub
if(cursor.getColumnIndex("duration")==columnIndex){
//duration为数据库中对应的属性列
TextView tv=(TextView)
tv.setText(""+(cursor.getInt(columnIndex)/1000);
//将数据库中的数据除以1000以后在显示
simpleCursorAdapter.setViewBinder(viewBinder);
【上篇】【下篇】博客分类:
数据源不同而已
1. String[]: ArrayAdapter
2. List&Map&String,?&&: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter
使用ArrayAdapter(数组适配器)顾名思义,需要把数据放入一个数组以便显示。
android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字
SimpleAdapter能定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)
//=============================SimpleAdapter==========================
public class List3 extends ListActivity {&&
&&& List&Map&String, Object&&&&
&&& @Override&
&&& public void onCreate(Bundle savedInstanceState) {&&
&&&&&& super.onCreate(savedInstanceState);&&
&&&&&& list = getListForSimpleAdapter(); //list为数据集合
&&&
&&&&&& SimpleAdapter&&&& adapter = new SimpleAdapter(this, list,&&
R.layout.item,&&
&&&&&& new String[] { "BigText", "LittleText", "img" },&&&
new int[] { R.id.BigText,R.id.LittleText, R.id.img });&
&&&&&&& //可以想成把一个放好数据的布局文件放入本界面中&&
&&&&&& setListAdapter(adapter);&&&&&&
&&& private List&Map&String, Object&& getListForSimpleAdapter() {&&
&&& List&Map&String,Object&& list=newArrayList&Map&String,&&&&&&& Object&&(3);&&
&&&&&&&&&& Map&String, Object& map = new HashMap&String, Object&();&&
&&&&&&&&&& map.put("BigText", "Android");&&
&&&&&&&&&& map.put("LittleText", "Google phone.");&&
&&&&&&&&&& map.put("img", R.drawable.n);&&
&&&&&&&&&& list.add(map);&&
&&&&&&&&&& map = new HashMap&String, Object&();&&
&&&&&&&&&& map.put("BigText", "Lenovo");&&
&&&&&&&&&& map.put("LittleText", "Ophone");&&
&&&&&&&&&& map.put("img", R.drawable.o);&&
&&&&&&&&&& list.add(map);&&
&&&&&&&&&& map = new HashMap&String, Object&();&&
&&&&&&&&&& map.put("BigText", "Droid");&&
&&&&&&&&&& map.put("LittleText", "Motorola");&&
&&&&&&&&&& map.put("img", R.drawable.droid);&&
&&&&&&&&&& list.add(map);&&
//==============================SimpleCursorAdapter===================
注意:SimpleCursorAdapter是和数据库有关的东西,而sqlite数据库所要求的 自动增长的 id& 必须是 _id这中形式
public class List2 extends Activity {&&
&&& private ListView listV&&
&&& @Override&
&&& protected void onCreate(Bundle savedInstanceState) {&&
&&&&&&& super.onCreate(savedInstanceState);&&
&&&&&&& listView=new ListView(this);&&
&&&&&& Cursorc=getContentResolver().query(People.CONTENT_URI,&&
&&&&&& null, null, null, null);&&&&&&&&
&&&&&&& startManagingCursor(c);&&
&&&&&&& ListAdapter adapter = new SimpleCursorAdapter(this,&&&
&&&&&&&&&&&&&&&& android.R.layout.simple_list_item_1,&&
&&&&&&&&&&&&&&&& c,&&&
&&&&&&&&&&&&&&&& new String[] {People.NAME} ,&&
&&&&&&&&&&&&&&&& new int[] {android.R.id.text1});&&&
&&&&&&& listView.setAdapter(adapter);&&
setContentView(listView);&&
//====================ArrayAdapter===================================
public class List1 extends& Activity {&&
&&& private ListVeiw listV&&
&&& @Override&
&&& public void onCreate(Bundle savedInstanceState) {&&
&& super.onCreate(savedInstanceState);&&
&&&&&& listView=new ListVeiw(this);&&
&&&&&& listView.setAdapter(new ArrayAdapter&String&(this,&&
&&&&&&&&&& android.R.layout.simple_list_item_1, mStrings));&&
&&&&& setContentVieww(listView);&&
&&&&&&& }&&
&& private String[] mStrings = {&&
&&&&&&&&&& "Abbaye de Belloc", "Abbaye du Mont des Cats",&&&&&&
&&&&&&&&&& "Acorn", "Adelost", "Affidelice au Chablis",&&&
&&&&&&&&&& "Aisy Cendre", "Allgauer Emmentaler", "Alverca",&&&
&&&&&&&&&& "Ami du Chambertin", "Anejo Enchilado", "Anneau&&&
&&&&&&&&&& "Aragon", "Ardi Gasna", "Ardrahan", "Armenian&&&
&&&&&&&&&& "Asadero", "Asiago", "Aubisque Pyrenees", "Autun",&&&
&&&&&&&&&&& "Babybel", "Baguette Laonnaise", "Bakers", "Bal"};&&
浏览 12864
浏览: 595169 次
来自: 深圳
http://jingyan.baidu.com/articl ...
------------------------- ...
大神,请问 string 类型 定义为 oracle的 cha ...
Line:103
f.doFilter(msg);
是否需要 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'请问SimpleCursorAdapter()最后一个参数具体写什么?
来源:csdn
【SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to),这个构造函数被弃用了,推荐用这个:
SimpleCursorAdapter (Context context, int layout, Cursor c, String[] from, int[] to,int flags)
也就是比原来多了一个int flags,可问题是在具体的例子里,这个int flags究竟写什么?如下图
这是网上找来的:
这个标志用来决定该适配器的行为。(译者注:Android3.0推荐我们传递CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER。设置标志用来添加一个监听器,监听着参数cursor的数据是否有更变。)
看不明白,难不成flags这个位置直接写“CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER”?
业余新手,英文差,求指点。】
这个标志用来决定该适配器的行为。(译者注:Android3.0推荐我们传递CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER。设置标志用来添加一个监听器,监听着参数cursor的数据是否有更变。)
看不明白,难不成flags这个位置直接写“CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER”?
我也不会,帮你顶一下吧。。。
在Android中,数据的展示都需要使用一个Adapter适配器,而Loader一般返回的就是一个Cursor的数据,可以使用BaseAdapter的一个子类SimpleCursorAdapter,它可以使用XML资源文件自定义一个布局在展示数据。它有两个构造函数,但是有一个构造函数在API Level11之后就不推荐使用。下面是构造函数的签名:
SimpleCursorAdapter(Context context,int layout,Cursor c,String[] from,int[] to,int flags).
最后一个参数flags是一个标识,标识当数据改变调用onContentChanged()的时候,是否通知ContentProvider数据的改变,如果无需监听ContentProvider的改变,则可以传0。对于SimpleCursorAdapter适配器的Cursor的改变,可以使用SimpleCursorAdapter.swapCursor(Cursor)方法,它会与旧的Cursor互换,并且返回旧的Cursor。
accountLV.setAdapter(new SimpleCursorAdapter(this, R.layout.item, c
, new String[]{"_id","name","balance"}
, new int[]{R.id.idTV,R.id.nameTV,R.id.balanceTV}
xyz860804:
总之挺有帮助的,研究了一会。
我试过了,非常有用,比如ListView中的内容删除一条Item后可以实时刷新列表
有点用处,谢谢
请问有无示例啊,期望
liu2614332:
补充二楼的:
代码如下:
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.item, c
, new String[]{"_id","name","balance"}
, new int[]{R.id.idTV,R.id.nameTV,R.id.balanceTV}
, CursorAdapter.FLAG_AUTO_REQUERY));
accountLV.setAdapter(mAdapter);
mAdapter.swapCursor(mCursor);
假如你看源码的话 , 你就会明白其实SimpleCursorAdapter + swapCursor 背后是借用其父类 CursorAdapter 的 changeCursor来实现的,他们都是通过让newCursor.registerContentObserver和newCursor.registerDataSetObserver 也即注册观察者来达到动态更新数据的目的。而楼主问的最后一个参数的意义, 就是当参数为CursorAdapter.FLAG_AUTO_REQUERY时或者当参数为
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER时的区别,这个我还没搞懂, 不过我知道的这个参数的值会影响
CursorAdapter中mAutoRequery的的值是true或是false , 然后间接影响了是否会执行mCursor.requery(); 也即刷新mCursor内的内容
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动

我要回帖

更多关于 vlookup最后一个参数 的文章

 

随机推荐