gpt4 book ai didi

Android 自动完成绑定(bind)问题

转载 作者:行者123 更新时间:2023-11-29 02:16:26 24 4
gpt4 key购买 nike

我正在开发一个包含食物食谱数据库的 Android Recipe 程序。我在其中创建了一个数据库,其中包含一个名为“recipe”的表,其中包含以下字段:

1 - _id(简称KEY_ID)
2 - 食谱标题(简称KEY_TITLE)
3 - 发球次数(称为 KEY_NOSERV)
4 - 配料(简称KEY_INGREDIENT)
5 - 程序(简称KEY_PROCEDURE)

我已经成功地实现了显示操作,即我已经完成了一个显示所有食谱标题的 ListView ,当我点击标题时,它会通过从数据库中提取数据来显示剩余的字段。在这种方法中,我可以轻松地绑定(bind)数据表单数据库。我用于此显示操作的数据绑定(bind)逻辑如下,效果很好。

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 实现搜索操作。自动完成应该只显示食谱标题。但在此我不知道如何绑定(bind)自动完成框中的数据。我尝试做与显示操作相同的事情,但应用程序被强制关闭。我附上了如下所述的 xml 和代码示例。请让我知道如何在此操作中对自动完成小部件进行数据绑定(bind)。

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>

我在搜索 Activity 中使用的数据绑定(bind)逻辑如下:

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() 函数提取配方表的所有字段。从中我只需要提取标题并在自动完成小部件中使用。

当我尝试开始搜索操作时,我的应用程序被强制关闭。请问我应该使用什么逻辑进行数据绑定(bind)。

最佳答案

为什么不尝试使用 Search feature withing Android

关于Android 自动完成绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3448130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com