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(适配器);

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);

我正在填充一个autocompletetextview,在String name=curz.getString(curz.getColumnIndex(DatabaseIN.KEY_TITLE))处得到一个错误; 它只是无法获得正确的列索引。我试图创建mdbHelper.KEY\u TITLE或只是KEY\u TITLE,但还是同一个错误

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());

    }