【问题标题】:How to go from second activity to third activity or fourth activity based on first activity data (Radio button clicked)?如何根据第一个活动数据(单击单选按钮)从第二个活动转到第三个活动或第四个活动?
【发布时间】:2015-05-26 12:45:48
【问题描述】:

我有四个活动说 java 文件——activity1.java、activity2.java、activity3.java、activity4.java 和 xml 文件——activity_1.xml、activity_2.xml、activity_3.xml、activity_4.xml

现在在活动 1 中 - 我有一个带有两个单选按钮的单选组和一个转到活动 2 的按钮

现在在活动 2 中 - 我有一个按钮可以根据活动 1 中单击的单选按钮转到活动 3 或活动 4。

我可以删除activity2并使用activity1中的if条件转到activity3或4但我肯定需要activity2

我不熟悉捆绑、共享偏好

怎么样?这方面的任何帮助

【问题讨论】:

    标签: java android android-intent sharedpreferences bundles


    【解决方案1】:

    您可以只使用意图并在活动之间传递值。在第一个活动中:

     Intent intent = new Intent(this, SecondActivity.class);
     intent.putExtra("someName", valueOfRadioButton);
     startActivity(intent);
    

    在下一个活动的onCreate 中,您可以像这样检索您传递的值(对于整数):

     getIntent().getIntExtra("someName", someDefaultValue);
    

    现在您有一个要查询的变量。根据价值,您可以启动任何您喜欢的活动。

    【讨论】:

    • 你能告诉我有关 valueOfRadioButton 和 someDefaultValue 的信息吗?任何例子
    • 默认值适用于参数不可用的情况,即您启动活动但未传递意图的某些情况。如果它找不到存储在someName 下的值,它将使用默认值,无论您指定哪个。至于valueOfRadioButton,您必须有一个值来指示选中哪个单选按钮。您可以将其作为valueOfRadioButton 传递。 Intent 可以传递很多简单的数据类型。
    【解决方案2】:

    使用

    Intent startSecondActivityIntent = new Intent(FirstActivity.this,SecondActivity.java);
    Intent.putExtra("nameOfValue",value);
    startActivity(startSecondActivityIntent);
    

    那么就可以得到这个值了:

    getIntent().getIntExtra("nameOfValue",defaultValue);
    

    或者你可以使用 SharedPreferences

    SharedPreferences sp = getSharedPreferences("nameOfPreferences",MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.putString("nameOfValue",value);
        editor.commit();
    

    并在其他活动中获取此值:

    SharedPreferences sp = getSharedPreferences("nameOfPreferences",MODE_PRIVATE);
    String value = sp.getString("nameOfValue",defaultValue);
    

    【讨论】:

    • 我如何在第二个活动中为第一个活动使用 if 条件,因为第一个活动中有两个单选按钮,并且根据单击的单选按钮,用户必须从第二个到第三个或第四个活动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多