Articles of simplecursoradapter

使用SimpleCursorAdapter进行Android ListView更新

嘿,我使用listview来显示存储在数据库中的条目。 我还有一个EditText元素和一个按钮,它将EditText的内容添加到数据库中。 要将视图绑定到数据库内容,我使用SimpleCursorAdapter和以下populate函数: private void populate() { cursor = dbAdapter.getAllItems(); startManagingCursor(cursor); String[] from = new String[] { DBAdapter.KEY_TASK }; int[] to = new int[] { android.R.id.text1 }; // Now create an array adapter and set it to display using our row cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to); list.setAdapter(cursorAdapter); } 如果我添加了一个新条目,通过单击我要刷新列表视图的按钮,但这只适用于populate函数而不适用于通用适配器函数notifyDataSetChanged(); 。 我有错误或者这是刷新列表视图的正确方法吗?

在自定义列表视图中显示联系号码和联系人姓名

谁能告诉我如何在自定义列表视图中显示电话号码和联系人姓名? 代码粘贴在下面 import android.app.Activity; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class AddContacts extends Activity implements OnClickListener { ListView list; Cursor cursor; SimpleCursorAdapter adapter; String phoneNumber; Button AddNumber; EditText number1; EditText number2; EditText number3; String […]

使用自定义simpleCursorAdapter

我试图使用自定义适配器访问列表活动。我已经尝试直接使用它而不使用任何自定义适配器它工作正常,但因为我想在列表视图中添加更多function我想实现自定义适配器。现在我有试过但我得到一个没有数据可见的空列表视图。 列表 – 活动 public class MainActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String selection = MediaStore.Audio.Media.IS_MUSIC + ” != 0″; String[] projection = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DURATION, }; //query musiccursor = this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,projection,selection,null,sortOrder); music_column_index = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA); int a[]= new int[]{R.id.TitleSong,R.id.Artist}; Custom_Adapter adapter = new Custom_Adapter(this,R.layout.music_items, musiccursor, new […]

创建自定义简单游标适配器

我想创建一个非常简单的游标自定义游标适配器,以方便在点击时更改行项目的颜色。 使用以下代码 private static int save = -1; public void onListItemClick(ListView parent, View v, int position, long id) { parent.getChildAt(position).setBackgroundColor(Color.BLUE); if (save != -1 && save != position){ parent.getChildAt(save).setBackgroundColor(Color.BLACK); } save = position; } 我从这个线程获得了代码https://stackoverflow.com/a/7649880/498449 我会使用一个简单的游标适配器并将代码放在onClick中,但由于ListFragment中的默认列表重用了视图,因此滚动多个视图时会显示为突出显示。 谈到IRC,有人建议我创建一个自定义游标适配器。 但是,我似乎无法find如何执行此操作的最佳实践,以及上述代码段适合的位置。可以非常感谢帮助。 public class AreaCursorAdapter extends CursorAdapter { private Context context; public AreaCursorAdapter(Context context, Cursor c) { super(context, c); […]

android ListView:scrollTo不起作用

我有一个视图,其中包含一个绑定到游标适配器的ListView。 当光标内容发生变化时,我想将ListView保持在顶部,然后在我的自定义光标适配器中添加: @Override protected void onContentChanged() { // … myListView.scrollTo(0, 0); } 但这不起作用。 然后我读到某个地方将这个动作排队如下: myListView.post(new Runnable() { public void run() { myListView.scrollTo(0, 0); } }); 但这也不起作用。 当内容发生变化时,如何将ListView保持在顶部? 编辑: 只是为了尝试,我添加了一个按钮,并在其onClickListener中调用scrollTo(),它不起作用! 我错过了什么?

Android:如何使用simpleadapter将SD卡中的图像文件放到HashMap中?

我正在读取手机上所选文件夹中的文件,就像您在下面的代码中看到的那样。 我怎么能用Imagefile来完成这项工作? 最后,我想要一个带有每个图像预览的图像列表。 像那样: [IMG](imgview) – [文件名](字符串) for(int i=0; i < files.length; i++) { File file = files[i]; map = new HashMap(); if(!file.isHidden() && file.canRead()) { path.add(file.getPath()); if(file.isDirectory()) { map.put(“img_list”, “”+R.drawable.folder); map.put(“string_cell”, file.getName()+”/”); your_array_list.add(map); }else{ ImageFileFilter filefilter = new ImageFileFilter(file); if(filefilter.accept(file)){ //Its an imagefile // ==> I like to replace the “”+R.drawable.image with the file […]

如何从Cursor获取数据到ContextMenu

我想获取光标的当前记录,而不仅仅是ID,以便我可以操作上下文菜单。 我在这里看到这个示例,向您展示如何获取ID: @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case DELETE_ID: AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo)item.getMenuInfo(); delete(info.id); return(true); } return(super.onOptionsItemSelected(item)); } 这很棒,因为它允许我获取所单击的上下文菜单的相应SQLite数据库ID,这将允许我编写一个函数来执行查找。 但我当然可以重用当前的光标? 我试过这样做: Cursor c = (Cursor) this.getListAdapter().getItem((int) info.id); String itemPriority = c.getInt(1); Log.v(TAG, “Current item:” + itemPriority); 但是光标线似乎只返回数据库的模式而不是我之后的记录。 请有人请说清楚。 编辑:感谢@azgolfer我find了解决方案。 我使用fillData()方法来填充适配器。 通常这是在没有variables的情况下声明的。 我不得不用一个字段variables重新定义这个方法。 在onContextItemSelected中使curstor适配器可见的代码的相关部分在这里: private void fillData() { Cursor itemsCursor = mDbHelper.fetchAllItemsFilter(mListId, mStatusFilter); […]

SimpleCursorAdapter和CursorAdapter

我想知道CursorAdapter和SimpleCursorAdapter之间有什么区别。 根据某人的标准选择其中一个。 您与他们合作的经历? 谢谢

swapCursor未定义错误

我在创建CursorLoader时收到“swapCursor(Cursor)未定义”错误。 我导入了android.support.v4(app.LoaderManager,app.LoaderManager.Loader,Content.CursorLoader,content.Loader)。 不知道我能做些什么来纠正这个问题。 请指教。 装载机: import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; import android.support.v4.content.Loader; import android.support.v4.app.ListFragment; import android.support.v4.widget.CursorAdapter; public class LoginList extends FragmentActivity implements OnClickListener, AdapterView.OnItemClickListener, LoaderManager.LoaderCallbacks { private ListView loginList; private Button webLogin; private SimpleCursorAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_listview); loginList = (ListView)findViewById(R.id.loginlist); loginList.setOnItemClickListener(this); webLogin = (Button)findViewById(R.id.button3); webLogin.setOnClickListener(this); //Specify […]

Android – 获取具有街道地址的联系人列表,但没有像Skype这样的低价值地址,其中地址只是一个城市和州

我有一个光标检索应用程序上有街道地址的所有联系人。 然后将此光标传递到适配器。 到现在为止还挺好。 除了我还得到一堆只有州/国家信息的低价值联系人(主要来自Skype)。 有没有一种简单的方法来修改URI以跳过这些? public Cursor getDirectoryList (CharSequence constraint) { String[] selectionArguments = { “%”+constraint.toString()+”%” }; String selection = ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME + ” like ?”; Uri uri = ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI; String sortOrder = ContactsContract.CommonDataKinds.StructuredPostal.DISPLAY_NAME + ” COLLATE LOCALIZED ASC”; Cursor cr = getContentResolver().query(uri, null, selection, selectionArguments, sortOrder); return cr; }