【发布时间】:2010-11-13 03:00:30
【问题描述】:
编辑:我已经弄清楚了我的主要问题,但仍有一个问题。本段以下的所有内容都已解决。从另一个活动的列表中选择后,我现在可以填充一个活动的字段。唯一的问题是,在我“快速添加”之后,我被另一个屏幕的两个版本之间的快速添加屏幕卡住了。换句话说,假设我按下快速添加按钮并且我的列表视图活动出现了。当我选择一个项目时,它基本上会向前并创建原始活动的另一个实例。因此,如果您点击后退按钮,您必须通过列表视图返回,然后返回原始活动的原始实例。有什么办法可以避免吗?
我在一个活动中有一个按钮,可以在另一个活动中打开一个列表视图,其中填充了数据库中的两列 - 名称和价格(这是在记事本教程中建模的)。该列表旨在作为“快速添加”选项。我想要它做的是,按下时,用相应的数据库条目填充上一个活动中的“名称”和“价格”EditTexts。
所以按照教程,这就是我的 ItemPicker 类中的内容:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Cursor c = mNotesCursor;
c.moveToPosition(position);
Intent i = new Intent(this, NewEntry.class);
i.putExtra(ItemsDbAdapter.KEY_ROWID, id);
i.putExtra(ItemsDbAdapter.KEY_NAME, c.getString(
c.getColumnIndexOrThrow(ItemsDbAdapter.KEY_NAME)));
i.putExtra(ItemsDbAdapter.KEY_PRICE, c.getString(
c.getColumnIndexOrThrow(ItemsDbAdapter.KEY_PRICE)));
startActivityForResult(i, ACTIVITY_AUTO);
}
当谈到在 NewEntry 类中检索该信息时,我完全迷失了。我认为这是获得额外内容的问题,但我什至不知道如何开始格式化代码。
另外,我需要它自动切换回 NewEntry 类活动。这就像在这个方法中添加一个 startActivity() 一样简单吗?谢谢。
编辑:没关系,终于解决了这个问题。这是我其他活动中的代码:
Bundle extras = getIntent().getExtras();
if (extras != null) {
editName.setText(extras.getString(ItemsDbAdapter.KEY_NAME));
editPrice.setText(extras.getString(ItemsDbAdapter.KEY_PRICE));
}
【问题讨论】: