Articles of android cursoradapter

Android的 – 防止在SearchView的build议文字截断?

出现在我的SearchView下面的默认ListView的build议包含被截断的文本。 我希望文本可以全部显示(如果需要,可以多行显示)。 我已经想出了两种可能的方法来解决这个问题,但没有在网上find的例子,我希望有人在这里可以帮助… 方法#1 / Q1:如何直接访问和修改包含SUGGEST_COLUMN_TEXT_1和SUGGEST_COLUMN_TEXT_1文本的TextView的外观? 方法#2 / Q2:或者,SearchView有一个setSuggestionsAdapter(CursorAdapter adapter)方法,它看起来可能比方法1更适合(更多?)。 虽然我已经阅读了CursorAdapters,并已经在我的应用程序中实现了一个,但我不知道如何configuration一个SearchView(特别是在访问光标方面),所以任何人都可以帮助我一些一般的指导或者一个骨架的例子? 以下是我的SearchViewFragment类的现有代码: public class SearchViewFragment extends Fragment { public SearchViewFragment() { } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View fragmentView = inflater.inflate(R.layout.fragment_search_view, container, false); // Use […]

SimpleCursorAdapter vs CursorAdapter?

我有一些游标与数据。 我有TextView的可见性取决于光标项的某些属性。 我使用SimpleCursorAdapter并重写getView方法。 但我实际上不使用SimpleCursorAdapter的属性。 将适配器更改为CursorAdapter并重写newView和bindView方法会更好吗?

分页列表和CursorLoader

我需要实现分页列表,它使用Loader从ContentProvider获取Cursor 。 我有页脚,当用户点击它 – 我需要添加下一个logging列表。 如何使用Loader刷新列表中的数据? 或者我应该在这里做什么?

如何使用CursorAdapter从ListView中删除选定的项目

我正在使用CursorAdapter ,下面是我的适配器类。 我的列表包含两个文本视图和每行一个button。 现在,点击button,我想从列表中删除选定的项目以及从数据库中删除。 如何从数据库中获取所选项目的ID,以便我可以将其删除,然后通知适配器(刷新列表)。 public class MyAdapter extends CursorAdapter { Cursor c; LayoutInflater inflater; Context context; private String TAG = getClass().getSimpleName(); public MyAdapter(Context context, Cursor c) { super(context, c); this.c = c; this.context = context; inflater = LayoutInflater.from(context); } @Override public void bindView(View view, Context context, final Cursor cursor) { TextView txtName = (TextView) […]

自定义游标适配器多次调用bindView

我已经忍受了这个问题数月和数月(但现在我是性能调整)。 但是,我现在迫切需要知道为什么我的适配器感觉有必要在logging上运行bindView最多4次。 我有一个自定义的游标适配器填充gridview。 一些debugging,以显示发生了什么事情: 03-08 14:46:47.980: I/AdapterCursorGrid(20724): newView() 03-08 14:46:48.470: I/AdapterCursorGrid(20724): bindView() 03-08 14:46:48.570: I/AdapterCursorGrid(20724): ————————– 03-08 14:46:48.570: I/AdapterCursorGrid(20724): bindView() Record Id: 1 03-08 14:46:48.570: I/AdapterCursorGrid(20724): bindView() Cursor Position: 0 03-08 14:46:48.570: I/AdapterCursorGrid(20724): bindView() View Type: 0 03-08 14:46:48.570: I/AdapterCursorGrid(20724): ————————– 03-08 14:46:48.600: D/AdapterCursorGrid(20724): bindView() Avatar empty… 03-08 14:46:48.690: D/AdapterCursorGrid(20724): bindView() Picture creation… 03-08 14:46:49.490: […]

ListView与CursorAdapter

我开发一个应用程序显示电话与CursorAdapter联系。 当我运行它时,我面临着一个列表视图,它只是重复一个联系人(“david”是我的联系人之一,只是在列表视图中重复) 大卫017224860 大卫017224860 大卫017224860 大卫017224860 大卫017224860 大卫017224860。 。 。 。 我的活动看起来像 public class Contacts extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.contacts); Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null); startManagingCursor(cursor); ContactCursorAdapterCT adapter= new ContactCursorAdapterCT(Contacts.this, cursor); ListView contactLV = (ListView) findViewById(R.id.listviewblcontactsDB); contactLV.setAdapter(adapter); 我的cursorAdapter看起来像: public class ContactCursorAdapterCT extends CursorAdapter { public ContactCursorAdapterCT(Context context, […]

从CursorAdapter.get()返回对象

我重写CursorAdapter,我需要得到最后一个项目,问题是CursorAdapter实际上有一个get()方法…但源是一个数据库,它返回一个普通的对象! (我什至不知道它是什么,我希望它返回一个光标对象,而不是…) Neverthless,我怎样才能让它返回我的包装数据库行类的实例? 例如:说我的数据库有像这样的行: id |名字| 姓 我会从那里做一个class的人 。 现在我想从游标适配器有一个人得到(int i)方法…

我用什么CursorAdapter?

CursorAdapter有3个构造函数。 让看看指南和参考。 1)CursorAdapter(上下文上下文,Cursor c) 这个构造函数已经被弃用了。 这个选项是不鼓励的,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应不佳,甚至导致应用程序不响应错误。 作为替代,使用带有CursorLoader的LoaderManager。 2)CursorAdapter(上下文上下文,Cursor c,boolean autoRequery) 允许控制自动重新查询的构造函数。 build议你不要使用这个 ,而应该使用 CursorAdapter(Context,Cursor,int)。 3)CursorAdapter(上下文上下文,Cursor c,int标志) 推荐的构造函数。 标志用于确定适配器行为的标志; 可以是FLAG_AUTO_REQUERY和FLAG_REGISTER_CONTENT_OBSERVER的任意组合。 FLAG_AUTO_REQUERY 此常量已被弃用 。 这个选项是不鼓励的,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应不佳,甚至导致应用程序不响应错误。 作为替代,使用带有CursorLoader的LoaderManager。 FLAG_REGISTER_CONTENT_OBSERVER。 使用带有CursorLoader的CursorAdapter时,不需要此标志。 CursorAdapter(上下文上下文,Cursor c,int标志)是推荐的构造函数,但可能的标志是2,一个是不推荐的,另一个在使用CursorLoader时不需要CursorAdapter。 如果我用一个CursorLoader的CursorAdapter我必须使用这个构造函数并将零作为标志? 在这种情况下,构造函数是否与#1相同?

在ListView中的CursorAdapter

我使用CursorAdapter在列表视图中读取数据库。 我有一个checkbox列表中的每个项目时,当用户检查checkbox我的数据库中最喜欢的列更改是和该项目添加到collections夹。 一切正常,最喜欢的列更改,但是当我滚动上下列表checkbox将取消选中。 如果你重新启动应用程序checkbox已被检查 我应该为这个问题做些什么: 对不起,我的英语不好: CursorAdapter类: public class MyAdapter extends CursorAdapter { Context b; LayoutInflater inflater; @SuppressWarnings("deprecation") public MyAdapter(Context context, Cursor c) { super(context, c); inflater = LayoutInflater.from(context); b= (Context) context; } @SuppressWarnings("unused") @Override public void bindView(View view, Context context, final Cursor cursor) { // TODO Auto-generated method stub TextView tv1 = (TextView)view.findViewById(R.id.txt_name); TextView […]

SimpleCursorAdapter的替代

我正在使用弃用的SimpleCursorAdapter来显示从光标到ListView的数据。 我添加了额外的参数0 ,它删除了代表警告,但我想用更好的方式来显示数据。 我已经阅读了Loader一些内容,但不知道如何实现它。 下面的代码会是更好的替代scheme吗? 这段代码如何被翻译成使用Loader? Cursor c = mDbHelper.getAllRecords(); startManagingCursor(c); //this is also deprecated String[] from = new String[] { "Name" }; int[] to = new int[] { R.id.text1 }; SimpleCursorAdapter names = new SimpleCursorAdapter(this, R.layout.names_row, c, from, to, 0); setListAdapter(names);