gpt4 book ai didi

android - SQL : Query() where COL = int instead of string ?(图片+里面的代码)

转载 作者:行者123 更新时间:2023-11-30 03:44:32 24 4
gpt4 key购买 nike

这是对我的问题的解释。
应用程序说明:我希望应用程序根据用户点击的按钮显示具有不同内容的 ListView 。为此,我的数据库中有一个带有数字(1 或 2)的列,我希望单击按钮 1 仅显示此数字为 1 的元素,依此类推。

A. 当用户单击按钮(称为 button1)时,它会打开一个新 Activity (ResultListViewActivity) 并通过 putExtra 发送一个名为“myVariable”的整数。

private OnClickListener listener_button1 = new OnClickListener() {
public void onClick(View v) {
Intent t = new Intent(MainActivity.this,
ResultListViewActivity.class);
t.putExtra("myVariable", 1);
startActivity(t);

}

};

B.在ResultListViewActivity中,有一个方法(findNameInTable)使用这个整数作为输入:

private void displayListView() {

Bundle bundle = getIntent().getExtras();
int myVariable = bundle.getInt("myVariable");

Cursor c = dbHelper.findNameInTable(myVariable);
// the desired columns to be bound
String[] columns = new String[] { DatabaseAdapter.COL_NAME,
DatabaseAdapter.COL_COMMENTS, };
// the XML defined views which the data will be bound to
int[] to = new int[] { R.id.name, R.id.comments, };
// create the adapter using the cursor pointing to the desired data
// as well as the layout information
cursorAdapter = new SimpleCursorAdapter(this, R.layout.poi_info, c,
columns, to, 0);

ListView listView = (ListView) findViewById(R.id.listview);
// Assign adapter to ListView
listView.setAdapter(cursorAdapter);
}

C. 这个方法 findNameInTable() 在我的 DatabaseAdapter 类中定义如下:

    public Cursor findNameInTable(int myVariable) {
c = myDatabase
.query(DATABASE_TABLE, new String[] { COL_NAME , COL_COMMENTS }, COL_CAT1 = myVariable,
new String[] { Integer.toString(myVariable) }, null,
null, null);
return c;
}

我希望此方法返回一个游标,其中包含 COL_NAME(列名)和 COL_COMMENTS 的内容,用于数据库的每一行,其中 COL_CAT1 = myVariable(例如,如果我单击按钮 1,则为 1)。

我尝试使用 Integer.toString(myVariable) 将我的 int 转换为字符串,但它仍然无法正常工作。此外,在我的 Activity 之上,我定义了 COL_CAT1 如下:

    public static final String COL_CAT1 = "cat1";

我真的希望它足够清楚并且有人会帮助我完成这项工作,我真的开始对这件事感到绝望......

提前致谢!

编辑:发布代码而不是图片

最佳答案

将您的查询更改为:

 c=mydatabase.query(
DATABASE_TABLE,
new String[] { COL_NAME,COL_COMMENTS },
COL_CAT1 + "=?" ,
new String[] { Integer.toString(myVariable) }, null, null, null
);

关于android - SQL : Query() where COL = int instead of string ?(图片+里面的代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215504/

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