在第一次活动中,我有两个单选按钮和按钮,我想在选择其中一个时按下按钮,意图进行第二次活动,并显示自我敬酒,我的代码在下面,我的应用程序强制关闭

第一次活动

    @Override
    public void onClick(View view) {
        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup2);
        int selection = radioGroup.getCheckedRadioButtonId();
        if (selection==R.id.rb4) {
            Intent intent = new Intent(getApplicationContext(),MyActivity2.class);
            intent.putExtra("art","0") ;
            startActivity(intent);
        }
           else if (selection==R.id.rb5) {
            Intent i = new Intent(getApplicationContext(),MyActivity2.class);
            i.putExtra("sport","1") ;
            startActivity(i);
        }
    }
});

第二项活动

String value = getIntent().getExtras().getString("art");
String value2 = getIntent().getExtras().getString("sport");
if (value.equals("0")){
    Toast.makeText(getApplicationContext(), "this is my Toast message1)",
            Toast.LENGTH_LONG).show();
}
else if (value2.equals("1")){
    Toast.makeText(getApplicationContext(), "this is my Toast message2)",
            Toast.LENGTH_LONG).show();
}

#1楼 票数:0 已采纳

问题在这里

String value = getIntent().getExtras().getString("art");
String value2 = getIntent().getExtras().getString("sport");

您在第一个活动中仅发送一个值

例如,将发送“艺术”或“运动”,而在第二个活动中,您将同时获取这两个值。因此,这每次都将作为nullpointerexception结束。

#2楼 票数:0

更好的解决方案是使用静态变量

在第一个活动中声明public static int num;

如果selection == R.id.rb4大于设置num = 1;

如果(selection == R.id.rb5)大于设置num = 2;

在第二个活动中,如果check >>第一个活动.num == 1比给toast1第一个活动.num == 2给toast2

删除putextra以及获得更多...

#3楼 票数:0

使用此代码

@Override
    public void onClick(View view) {
        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup2);
        int selection = radioGroup.getCheckedRadioButtonId();
        if (selection==R.id.rb4){

                Intent intent = new Intent(getApplicationContext(),MyActivity2.class);
                intent.putExtra("art","0") ;
                startActivity(intent);
        }

           else if (selection==R.id.rb5){
                Intent i = new Intent(getApplicationContext(),MyActivity2.class);
                i.putExtra("art","1") ;
                startActivity(i);


        }


    }
});

第二次活动

 String value = getIntent().getExtras().getString("art");
if (value.equals("0")){
    Toast.makeText(getApplicationContext(), "this is my Toast message1)",
            Toast.LENGTH_LONG).show();
}
else if (value.equals("1")){
    Toast.makeText(getApplicationContext(), "this is my Toast message2)",
            Toast.LENGTH_LONG).show();
}

  ask by chy translate from so

未解决问题?本站智能推荐:

2回复

如何在我在androidstudio中的第二个活动上显示单击的单选按钮值?

这是我的Java代码: 如何在第二个活动中显示单击的单选按钮值? 非常感谢您的帮助,谢谢。
1回复

将单选按钮选择从主要活动传递到第二个活动—Kotlin

我的主要活动是两个Double输入和两个广播组。 我可以将Double输入从Main传递到第二个活动,但是我不知道如何传递单选按钮选择。 对于Double输入,这是我在Main Activity中拥有的内容: 这是我在第二活动中所拥有的: 如何将单选按钮传递给“第二活动”? r
1回复

在第二个活动中,我会将数据从单选按钮发送到textview的意图放在哪里?

这是我通过更新为披萨应用程序编写的代码我想了解通过单击单选按钮或使用 Intent 的复选框收集的数据将放置在这里然后移至第二个活动? 我只想知道 Intent 在这段代码中的位置? 第一次活动 这是我的单选按钮代码,我应该在哪里放置从这里收集的数据到第二个活动中的 textView 的意图? 第二
4回复

单击特定单选按钮后打开第二个活动,否则显示消息

我是Android / Java编程的新手,并且正在寻找一些我正在使用的非常非常基本的应用程序的帮助。 我纯粹是为了习惯Java编码和为机器人构建应用程序而构建这个,所以请耐心等待。 我有10个单选按钮组合在一起,其中只有一个是正确答案(按钮#10)。 如果用户点击它们中的任何一个1-9
2回复

通过按钮从主布局过渡似乎破坏了第二个布局中的单选按钮

完全披露者,我更改了问题的标题以反映当前的实际问题 看来我不知所措...所以我做错了与我在屏幕之间转换的方式有关。 当我将代码显示为Main活动时,一切似乎运行良好。 因此,这与此有关。 旧问题有关单选按钮为何无法正常使用的信息。 我过去曾经做过一些Android,但我不知道为什
1回复

如何将选中的单选按钮传递给Kotlin中的其他活动

对于一个Android应用程序,我的MainActivity中有一个带有三个RadioButtons(rb1,rb2,rb3)的RadioGroup。 每个RadioButton都导致另一个活动(Activity1,Activity2,Activity3)。 现在,用户可以从这三个活动中的任
2回复

如何检查其他活动的单选按钮

如何在Android中检查其他Activity一个RadioButton ? 我正在用普通句子尝试,但我的应用程序崩溃了。
1回复

如何设置从其他活动中选中的单选按钮?

我有两个活动。 第一个活动具有不同的布局,可打开另一个活动。 在另一个活动中,我有一个分段的单选按钮组,我要对其进行设置,以根据在第一个活动中单击的布局进行检查。 要检查单选按钮,我使用了此功能。 segmented5.check(R.id.pickupbakButton); 这会