【问题标题】:how to use on activity result for going through more then one activity in android如何在活动结果上使用 android 中的多个活动
【发布时间】:2014-06-25 10:30:14
【问题描述】:

我制作了一个表单,其中有一个名为“CategoryID”的 textView 字段,现在当用户单击它时,它将转到 categoryListActivity,在该活动中,有一个包含类别的列表,在该列表中的一些类别有子类别,有些没有,所以我想要它的名称和 ID,但我的问题是如果类别可能有子类别,如何发送名称和 ID?

我的基本逻辑(我需要的是):

categoryID(TextView) ->onClick ->goto "CategoryActivity" --> 如果“category”有子类别,它将转到下一个活动“subcategory”,否则它将重定向到带有“category name”和“ID”的表单如果不是,它将转到“SubCategoryActivity”,然后从那里有一个列表,我将单击的项目将发送到表单字段“categoryName(TextView)”。请帮我解决这个问题。

【问题讨论】:

    标签: android android-intent start-activity onactivityresult


    【解决方案1】:

    您想使用Intent.FLAG_ACTIVITY_FORWARD_RESULT 来实现此目的。该标志允许一个活动将返回结果的责任委托给另一个活动。

    MainActivity 使用 startActivityForResult() 启动 CategoryActivity。如果CategoryActivity意识到用户需要选择一个子类别,那么它会像这样开始SubcategoryActivity

        Intent intent = new Intent(this, SubcategoryActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
        intent.putExtra("category", category); // Pass the chosen category to the next activity
        startActivity(intent);
        // This activity can finish now. SubcategoryActivity will return the result
        finish();
    

    请注意,SubcategoryActivity 是使用 startActivity() 而不是 startActivityForResult() 开始的。但是,SubcategoryActivity 应该在调用finish() 之前设置一个结果。当SubcategoryActivity 调用finish() 时,该结果将返回到onActivityResult() 中的MainActivity

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2015-11-04
      • 2023-01-04
      • 2014-11-09
      相关资源
      最近更新 更多