标签: simplecursoradapter

将recyclerview与数据库一起使用

目前没有可用的RecyclerView.Adapter的默认实现.

可能正式发布,谷歌将添加它.

由于不存在用于支持CursorAdapterRecyclerView当前,如何才能使用RecyclerView同一个数据库?有什么建议 ?

android simplecursoradapter android-recyclerview

126
推荐指数
3
解决办法
8万
查看次数

android listview项目高度

为什么当我使用SimpleCursorAdapter for ListView时,我在ListView中有像这样的项高度 - 列表视图图像

(我的代码基于)

但是当使用数组Listview项目有很大的高度

listview大

(我基于学习listview )

项目列表视图的行布局是

<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么使用ArrayAdapter和SimpleCursorAdapter时行高的差异?

android listview row android-arrayadapter simplecursoradapter

51
推荐指数
4
解决办法
12万
查看次数

如何设置微调器默认值而不是位置?

我在数据库中有1-50条记录.我使用游标获取这些数据,并使用简单光标适配器将这些值设置为Spinner.现在我需要的是我想设置一个值,将第39个值设置为默认值.但不是我的立场,我想通过它的价值来设定.

我知道如何通过其位置设置微调器默认值

   spinner.setSelection(39) 
Run Code Online (Sandbox Code Playgroud)

将微调器设置为该值.

但我不知道在数据库中通过其值(文本)设置微调器默认值.我知道数据库中的值.例如,"书籍"是微调器中的一个值.我需要将微调器默认设置为书籍.

有没有办法做到这一点?

android spinner simplecursoradapter android-spinner

49
推荐指数
3
解决办法
13万
查看次数

从ListView中获取与SimpleCursorAdapter绑定的选定项

我是Android开发的新手......来自iPhone和.Net背景.我见过与此问题非常相似的问题,但没有一个问题涉及SimpleCursorAdapter.

我有一个基本的ListActivity,它使用Cursor将SQLite查询中的数据绑定到我的ListView:

ListAdapter adapter = new SimpleCursorAdapter(
        this, 
        android.R.layout.simple_list_item_1,  
        c,        
        new String[] {"name"},   
        new int[] {android.R.id.text1}); 

setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

然后单击某个项目时:

public void onListItemClick(ListView l, View v, int position, long id) {

    super.onListItemClick(l, v, position,  id);

    //Difference between this:
    Cursor c = (cursor)l.getItemAtPosition(position);
    //and this??
    Cursor c = (Cursor)l.getAdapter().getItem(position);

    int categoryId = c.getInt(0);
}
Run Code Online (Sandbox Code Playgroud)

这是获取所选元素的id的正确方法吗?这看起来很奇怪,因为我不认为我可以在数据库关闭后使用我的光标(这是在我绑定之后).当我无法找到从该ID中获取实际项目的方法时,传入ID的重点是什么?另外,我不明白为什么getItemAtPosition()会返回一个游标......游标被绑定到整个列表; 不只是一排.最后,如果这是正确的,获得光标的两种方式之间是否存在差异?谢谢.

android listview simplecursoradapter

37
推荐指数
1
解决办法
4万
查看次数

如何使用cursorloader读取android中的SQLite数据库?

我正在设置我的应用程序,以便人们可以创建他们的朋友组.创建组时,它会将2个表写入SQL数据库.第一个表有一个组名和一个组ID.第二个表有2列,一个组ID和一个用户ID.这工作正常.

但是,现在我希望能够从数据库中读取.我正在使用listview片段,cursorloader但是我无法显示信息.我想列出列表视图中第一个表中的所有组名.

我的问题是,当我第一次使用的cursorloader列出我的联系人,我使用的是Uri来自content provideronCreateLoader方法.特别是我CONTENT_URIContactsContracts.Contacts班上来的.

的例子cursorloadercontentprovider:

@Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
    Uri contentUri = ContactsContract.Contacts.CONTENT_URI;
    return new CursorLoader(getActivity(),contentUri,PROJECTION,SELECTION,ARGS,ORDER);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果不使用内容提供程序,我不知道该onCreateLoader方法应该放什么,因为在第二个参数中return new CursorLoader(...)需要a Uri.

有关如何在列表视图中显示数据库数据的任何建议?

片段类代码:

public class GroupListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {

CursorAdapter mAdapter;
private OnItemSelectedListener listener;
private static final String[] PROJECTION ={GroupContract.GroupDetails.COLUMN_NAME_GROUP_NAME};
private static final String SELECTION = null;
final String[] FROM = …
Run Code Online (Sandbox Code Playgroud)

android android-listview simplecursoradapter android-fragments android-cursorloader

32
推荐指数
2
解决办法
4万
查看次数

如何为Spinner的SimpleCursorAdapter或Cursor插入额外的元素?

我有一个Spinner,它显示从数据库中获取的数据列表.数据从查询返回到游标,并将光标传递给spinner的SimpleCursorAdapter.这样工作正常,但我想在这些数据之上插入另一个项目.例如,微调器已经显示了保存在DB中的用户创建模板列表,但我想在模板列表的顶部插入"新模板"和"空模板",并且需要将其插入到Cursor/SimpleCursorAdapter中不知何故.

我考虑过使用arraylist并从光标中填充arraylist,但是光标对我来说是更好的解决方案,因为它也包含其他相关的数据行.我搜索了互联网的其他解决方案,并找到了一些要求使用CursorWrapper的答案,但我找不到一个具体的例子如何使用CursorWrapper来实现我想要的.如何在光标中插入一些行或者有人可以给出一个易于遵循的CursorWrapper示例!提前致谢.

android cursor spinner simplecursoradapter

30
推荐指数
1
解决办法
1万
查看次数

API版本15中不推荐使用SimpleCursorAdapter吗?

SimpleCursorAdapter使用以下注释弃用其构造函数之一:

已过时.不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行Cursor查询,从而导致响应能力较差甚至应用程序无响应错误.作为替代方案,使用android.app.LoaderManager和android.content.CursorLoader.

这是否会使整个班级弃用?不推荐使用其他(标准)构造函数.

android simplecursoradapter

30
推荐指数
1
解决办法
3万
查看次数

ExpandableListView的SimpleCursorTreeAdapter和CursorLoader

我试图通过使用异步查询提供CursorLoaderSimpleCursorTreeAdapter

这是我Fragment实现的类CursorLoader

public class GroupsListFragment extends ExpandableListFragment implements
  LoaderManager.LoaderCallbacks<Cursor> {

  private final String DEBUG_TAG = getClass().getSimpleName().toString();      

  private static final String[] CONTACTS_PROJECTION = new String[] {
    ContactsContract.Contacts._ID,
    ContactsContract.Contacts.DISPLAY_NAME };  

  private static final String[] GROUPS_SUMMARY_PROJECTION = new String[] {
    ContactsContract.Groups.TITLE, ContactsContract.Groups._ID,
    ContactsContract.Groups.SUMMARY_COUNT,
    ContactsContract.Groups.ACCOUNT_NAME,
    ContactsContract.Groups.ACCOUNT_TYPE,
    ContactsContract.Groups.DATA_SET };

  GroupsAdapter mAdapter;

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    populateContactList();

    getLoaderManager().initLoader(-1, null, this);
  } 

  public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    // This is called when a new Loader needs …
Run Code Online (Sandbox Code Playgroud)

android expandablelistadapter simplecursoradapter android-cursorloader

22
推荐指数
1
解决办法
2万
查看次数

将ArrayAdapter转换为CursorAdapter以在SearchView中使用

如何将ArrayAdapter<String>静态数据转换CursorAdapter为使用Suggestion Listener SearchView?我构建了ArrayAdapter<String>from static data(allString)

ArrayAdapter<String> searchAdapter = new ArrayAdapter<String>(context, R.layout.listitem, allString);
Run Code Online (Sandbox Code Playgroud)

我将它用于MultiAutoCompleteTextView在API级别低于11的设备中正常工作

MultiAutoCompleteTextView findTextView.setAdapter(searchAdapter);
Run Code Online (Sandbox Code Playgroud)

但是我的目标API是11级,而对于API> 10,我使用的是ActionBar其中我希望有一个SearchView.

这是我所尝试的:它确实显示ActionBar嵌入式SearchView但不提供任何建议,因为它会在MultiAutoCompleteTextView.

@Override
public boolean onCreateOptionsMenu(Menu menu) {     
        MenuInflater inflater = getMenuInflater();

         if (android.os.Build.VERSION.SDK_INT > 10){
             inflater.inflate(R.menu.menu11, menu);
             searchView = (SearchView) menu.findItem(R.id.MENU_SEARCH).getActionView();
             int[] to = {0};
             CursorAdapter cursorAdapter = new SimpleCursorAdapter(context, R.layout.listitem, null, allBusStopString, to);
             searchView.setSuggestionsAdapter(cursorAdapter);
             searchView.setOnSuggestionListener(new OnSuggestionListener() {

                @Override
                public boolean onSuggestionClick(int position) { …
Run Code Online (Sandbox Code Playgroud)

android autocompletetextview simplecursoradapter android-actionbar android-cursoradapter

21
推荐指数
2
解决办法
2万
查看次数

如何通过单击其中的按钮获取列表项位置?

实际上我已经读过一些关于此的问题......

这是我使用的代码

auto = (ListView)findViewById(R.id.auto);
String[] projection = new String[] {Browser.BookmarkColumns._ID,Browser.BookmarkColumns.TITLE,Browser.BookmarkColumns.URL};

    String[] displayFields = new String[] {Browser.BookmarkColumns.TITLE, Browser.BookmarkColumns.URL};

    int[] displayViews = new int[] { R.id.text1,R.id.text2 };

    Cursor cur = managedQuery(android.provider.Browser.BOOKMARKS_URI,projection, null, null, null);

    //auto.setAdapter(new SimpleCursorAdapter(this, R.layout.mylist, cur,displayFields, displayViews));

    myAdapter apt = new myAdapter(this, R.layout.mylist, cur,displayFields, displayViews);
    auto.setAdapter(apt);
Run Code Online (Sandbox Code Playgroud)

和类myAdapter

class myAdapter extends SimpleCursorAdapter{

    private Cursor c;
    private Context context;


    public myAdapter(Context context, int layout, Cursor c, String[] from,
            int[] to) {
        super(context, layout, c, from, to);
        // TODO Auto-generated constructor stub …
Run Code Online (Sandbox Code Playgroud)

android listview simplecursoradapter

18
推荐指数
2
解决办法
3万
查看次数