我正在开发一个Android Recipe程序,其中包含食谱配方数据库。我在其中创建了一个名为“recipe”的表,其中包含以下字段:
1 - _id(简称KEY_ID)
2 - 配方标题(简称KEY_TITLE)
3 - 服务数量(称为KEY_NOSERV)
4 - 成分(简称KEY_INGREDIENT)
5 - 程序(称为KEY_PROCEDURE)
我已成功实现了显示操作,即我已经完成了列表视图,其中显示了所有配方标题,当我点击标题时,它通过从数据库中提取数据向我显示剩余字段。在这种方法中,我可以轻松地绑定数据表单数据库。我用于此显示操作的数据绑定逻辑如下运行良好。
Cursor c = rDbHelper.fetchAllRecipes();
startManagingCursor(c);
String[] from = new String[] { RecipeDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter recps =
new SimpleCursorAdapter(this, R.layout.recipe_row, c, from, to);
setListAdapter(recps);
现在我正在使用AutoComplete Widget实现搜索操作。 AutoComplete应显示仅显示食谱标题。但在此我不知道如何绑定自动完成框中的数据。我尝试做同样的事情,就像我在显示操作中做的那样,但应用程序被强制关闭。我已经附加了xml和代码示例,如下所述。请告诉我如何在此操作中将数据绑定到AutoComplete Widget。
res / layout文件名:recipe_auto_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textautocomplete"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000">
</TextView>
res / layout文件名:recipe_autocomplete.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RECIPE NAME:" />
<AutoCompleteTextView android:id="@+id/autocomplete_recipe"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"/>
</LinearLayout>
我在搜索活动中使用的数据绑定逻辑如下:
super.onCreate(savedInstanceState);
setContentView(R.layout.recipe_autocomplete);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_recipe);
Cursor c = rDbHelper.fetchAllRecipes();
startManagingCursor(c);
String[] from = new String[] { RecipeDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.textautocomplete };
SimpleCursorAdapter cur = new SimpleCursorAdapter(this, R.layout.recipe_auto_list_item, c, from, to);
textView.setAdapter(cur);
fetchAllRecipes()函数提取配方表的所有字段。从那里我只需要提取标题并在自动完成小部件中使用。
当我尝试启动搜索操作时,我的应用程序被强制关闭。请问我应该使用什么逻辑进行数据绑定。