早上,我很乐意帮助我使用我的特定代码,但如果您忙于使用putExtra和retrieveRow的任何信息也会有很大的帮助。
我正在开发一个小型的android项目,我遇到了第一个需要将数据从一个活动传递到另一个活动的实例,不幸的是我的知识缺乏。我已经尝试过看看android记事本的例子,但我已经变得非常混乱,所以我希望有人可以使用我自己的代码向我解释。
这是我正在尝试做的...我有一个onItemClick监听器,用于从sqlite数据库填充的listview,当它被选中时我想传递行_id以及该行的另一列的内容(BUDGET_AMOUNT)到另一个班级。所以我认为我需要类似下面的东西,但正如你可以看到的所有问号我真的很困惑如何实现我需要的东西。
// add an onclicklistener for when an item on the list is pressed
incomeView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
Cursor c = ???.retrieveRow(id);
Intent keypadIntent = new Intent(view.getContext(), Keypad.class);
keypadIntent.putExtra(???._ID, id);//put extra needs work
keypadIntent.putExtra(???.BUDGET_AMOUNT, c.getFloat(
c.getColumnIndexOrThrow(???.BUDGET_AMOUNT)));
startActivityForResult (keypadIntent, ???);
}
});
上面的代码来自我的Budget.java类,我上传了here。我还有一个名为Data.java的类,它扩展了SQLiteOpenHelper和一个名为DatabaseConstants的类,它只有一大堆用于类别和查询的字符串变量。感谢您抽出宝贵时间来查看或提供建议。
答案 0 :(得分:1)
看看这是否有帮助。我认为我的实现与你的实现略有不同,但是用于类似的功能。
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
// Get the item that was clicked
Intent selectedProjectType = new Intent();
Cursor o = (Cursor) this.getListAdapter().getItem(position);
String keyword = o.getString(1);
selectedProjectType.putExtra("selectedprojecttype", keyword);
setResult(RESULT_OK, selectedProjectType);
finish();
}