cursor进入字符串错误cursor.getcolumnIndex键\u标题,因此无法填充我的arraylist Cursor curz=mDbHelper.fetchAllMembersG(); 开始管理光标(curz); ArrayList mArrayList=新建ArrayList(); String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE)); for(curz.moveToFirst();curz.moveToNext();curz.isAfterLast()) {mArrayList.add(name);} name_Val=(字符串[])mArrayList.toArray(新字符串[mArrayList.size()]); ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,name\u Val); txtPhoneName.setAdapter(适配器);
我正在填充一个autocompletetextview,在String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE))处得到一个错误; 它只是无法获得正确的列索引。我试图创建mdbHelper.KEY\u TITLE或只是KEY\u TITLE,但还是同一个错误cursor进入字符串错误cursor.getcolumnIndex键\u标题,因此无法填充我的arraylist Cursor curz=mDbHelper.fetchAllMembersG(); 开始管理光标(curz); ArrayList mArrayList=新建ArrayList(); String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE)); for(curz.moveToFirst();curz.moveToNext();curz.isAfterLast()) {mArrayList.add(name);} name_Val=(字符串[])mArrayList.toArray(新字符串[mArrayList.size()]); ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,name\u Val); txtPhoneName.setAdapter(适配器);,android,string,cursor,Android,String,Cursor,我正在填充一个autocompletetextview,在String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE))处得到一个错误; 它只是无法获得正确的列索引。我试图创建mdbHelper.KEY\u TITLE或只是KEY\u TITLE,但还是同一个错误 Cursor curz=mDbHelper.fetchAllRemindersG(); startManagingCursor(curz);
Cursor curz=mDbHelper.fetchAllRemindersG();
startManagingCursor(curz);
ArrayList<String> mArrayList = new ArrayList<String>();
String name =curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE));
for(curz.moveToFirst(); curz.moveToNext(); curz.isAfterLast())
{ mArrayList.add(name); }
name_Val = (String[]) mArrayList.toArray(new String[mArrayList.size()]);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,name_Val);
txtPhoneName.setAdapter(adapter);
首先你需要移动到第一排,然后你可以从中得到一些东西。因为在创建游标时,指针指向-1索引,或者您可以说它指向beforeFirst。cursor curz=mDbHelper.fetchallmembersg();
curz.moveToFirst()
String name =curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE));
do {
mArrayList.add(name);
}while(curz.moveToNext());
开始管理光标(curz);
//setTheme(android.R.style.Theme_Light);
curz.moveToFirst();
ArrayList mArrayList=新建ArrayList();
如果(curz.getCount()>0)
{
做
{
String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE));
if(name!=null)
{
结婚名单。添加(姓名);
}
}while(curz.moveToNext());
}
您必须向.getColumnIndex()
提供列的名称。该列必须存在于查询的数据库表中,并且需要将其包含在查询中。(查询的投影参数)public static final String KEY_TITLE=“TITLE”;公共静态最终字符串键\u DATAS=“DATAS”;公共静态最终字符串键\u BODY=“BODY”;公共静态最终字符串键\日期\时间=“提醒\日期\时间”;公共静态最终字符串键_ROWID=“_id”;下面是我在数据库类中拥有的内容,我试图使用KEY_TITLEString name=curz.getString(curz.getColumnIndexOrThrow(getString(0));我尝试了这个,但仍然出错(如果这是你所说的getString(0)String name=curz.getString(0)
它仍然强制关闭,可能我有一个错误游标curz=mDbHelper.FetchAllEmlersG();startManagingCursor(curz);现在它不强制关闭,但autocompletetextview没有填充,正如我在调试器mArrayList.add中看到的那样(name)未执行,在for ciclus-1之后的for行跳转中,您应该使用do…While循环而不是While,因为在While循环中使用moveToFirst()后,它使用moveToNext()。这意味着它将移动到第二行并开始从第二行获取。
Cursor curz=mDbHelper.fetchAllRemindersG();
startManagingCursor(curz);
// setTheme(android.R.style.Theme_Light);
curz.moveToFirst();
ArrayList<String> mArrayList = new ArrayList<String>();
if (curz.getCount() > 0)
{
do
{
String name = curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE));
if(name!=null)
{
mArrayList.add(name);
}
}while (curz.moveToNext());
}