【问题标题】:Populating EditTexts in one activity using a ListItemClick from another - how to make this work?使用来自另一个活动的 ListItemClick 在一个活动中填充 EditTexts - 如何使其工作?
【发布时间】: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));
    }

【问题讨论】:

    标签: java mysql android


    【解决方案1】:

    为什么不能在 listactivity 上使用 finish()?

    这就是我在这里所做的......或者我不明白你的问题。

    不要在第二个活动上使用 startactivityforresult。只需使用完成()。 ;-)

    //已编辑:

    顺便说一句,您不会创建新的 Intent。你使用 Intent i = getIntent();获得原始意图。你做错了!

    第二个类的 Intent 的目的不是启动另一个活动。就是让结果回归原意。将意图视为桥梁。当您在另一边时,您不会创建新桥,而是将结果返回到原始桥并从中返回 (finish())。

    这就是为什么您需要 Intent i = getIntent() 而不是 new Intent,以及 finish() 而不是 startactivityforresult(创建一个新桥而不是从第一个桥返回)。

    【讨论】:

    猜你喜欢
    • 2019-05-30
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多