Android对SimpleCrsorAdapter和regexp的嵌套请求

Android对SimpleCrsorAdapter和regexp的嵌套请求,android,regex,sqlite,listview,Android,Regex,Sqlite,Listview,在我的应用程序中,我需要访问存储在SQLite数据库中的数据,以创建名称+图标的列表 我的数据库中有两个表: 其中一个包含Name列(以及许多其他列的详细信息),但此Name列包含的文本ID为另一个表中存储的文本(dictionnary)。 看起来是这样的: 主表: ClassID | Name | ... 1 | "foo <$>9973</> bar" | ... 我需要的是在用于生成列表视图之前,自动从字典中

在我的应用程序中,我需要访问存储在SQLite数据库中的数据,以创建名称+图标的列表

我的数据库中有两个表: 其中一个包含Name列(以及许多其他列的详细信息),但此Name列包含的文本ID为另一个表中存储的文本(dictionnary)。 看起来是这样的:

主表:

ClassID | Name                    | ...
1       | "foo <$>9973</> bar"    | ...
我需要的是在用于生成列表视图之前,自动从字典中检索名称。如果dictionnay调用不是异步进行的,那将是最好的

我需要应用一些类似于php函数preg\u replace\u回调的东西来匹配模式,并在字典中查找相应的文本

我见过一些关于setViewValue的东西,但我不知道如何使用它

有什么建议吗? 谢谢

编辑: 更清楚一点,输出应该在我的示例中:

"foo Name of the item bar"

由于我在使用SimpleCorsOrAdapter时遇到困难,我最终选择使用SimpleAdapter并通过我的Dabase助手生成列表

用于生成列表的函数:

ArrayList getCharList(){
if(list.isEmpty()){
光标mdbCursor;
mdbCursor=this.getReadableDatabase()
.query(“作业”,此处输入代码为字符串[]{“ClassID\u id”,“名称”},
空,空,空,空,空,空);
如果(mdbCursor!=null){
while(mdbCursor.moveToNext()){
HashMap temp=新的HashMap();
字符串名;
临时put(“_id”,mdbCursor.getString(0));
Name=mdbCursor.getString(1);
//我在这里写我的名字
临时输入(“名称”,名称);
列表。添加(临时);
}
mdbCursor.close();
}
}
然后我在我的碎片列表中这样使用它:

db=newchardatabase(getActivity());
字符串[]fromColumns={“Name”};
int[]toViews={R.id.charName};
mSimpleAdapter=新的SimpleAdapter(getActivity(),
db.getCharList(),
R.layout.row,
从列,
(3),;
通过这种方式,我可以轻松地过滤元素,如果需要对其进行排序,我可以使用常用的排序函数进行排序,然后调用:
mSimpleAdapter.notifyDataSetChanged()文件;

将“名称”列更改为仅包含文本,将id放在单独的列中如何解决我的问题?我仍然需要将其替换到字符串中,并知道它在字符串中的位置……此外,还需要对表进行可预先标记的修改,因为我不是生成itok的人,所以我负担不起,所以请使用ViewBinder或(对于更高级的开发人员)自定义CursorWrapper或代替您创建的CursorWrapper,使用传递给自定义SQLiteOpenHelper构造函数的CursorFactory,现在将自动创建包装,快速检查CursorFactory后,这是最好的方法。。。
"foo Name of the item bar"