【问题标题】:sending data to an intent depending on a view (a radio button)根据视图(单选按钮)向意图发送数据
【发布时间】:2014-04-05 07:24:17
【问题描述】:

我有一个活动显示一个包含单选按钮和按钮的对话框(好的,取消)

  1. 我可以从这个对话框启动一个活动吗?
  2. 如何将选中的radioButton的id发送给第二个activity?

【问题讨论】:

  • Imad DZ:检查下面的答案。

标签: android android-intent android-activity android-alertdialog radio-group


【解决方案1】:

在OK按钮的onClick()方法中,你可以添加这段代码来启动另一个Activity并传​​递选中的单选按钮的id:

Intent intent = new Intent(FirstActivity.this, SecondActitvity.class);
intent.putextras("extra_selected_radio_button", checkedRadioButton.getId());
startActivity(intent);

SecondActivityonCreate() 方法中,您可以像这样检索所选单选按钮的 id:

Intent intent = getIntent();
int radioButtonId = intent.getIntExtra("extra_selected_radio_button", -1); // -1 is the default value

PS:查看此tutorial,了解有关在 Android 中的 Activity 之间发送数据的更多信息。

【讨论】:

    【解决方案2】:

    是的,你可以:

    1. 在 OK 按钮监听器上只需执行 startActivity(intent)
    2. 在上一个方法调用之前,您必须在 Intent 中添加额外内容,例如 intent.putExtra("radioButtonId", radioButtonValue)

    【讨论】:

      【解决方案3】:

      要从对话框启动活动,您必须将其添加到按钮的 onClick() 代码中:

      Intent intentLoad = new Intent(getBaseContext(), YourNewActivity.class);
      startActivityForResult();
      

      如果您想向您的活动发送数据,请使用:putExtra

      像这样:

      Intent intentLoad = new Intent(getBaseContext(), YourNewActivity.class);
      intent.putExtra("radioID", id-of-your-radioButton);
      startActivityForResult();
      

      您可以通过以下方式在活动中获取您的 ID:

      int myRadioId = extras.getInt("radioID");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-15
        • 2014-01-25
        • 1970-01-01
        • 2021-07-29
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 1970-01-01
        相关资源
        最近更新 更多