如何将信息从一个Java类传递到另一个

时间:2019-07-10 09:55:17

标签: java android parameter-passing

我需要将一个参数从一个Java类(A)传递给另一个Java类(B)。 我使用了许多来自Internet的解决方案,但无法解决我的问题。用户将从单选按钮列表中选择答案。分数将被添加,我需要将分数传递给B类。

在B类中,用户继续回答该问题,我需要添加A类和B类的分数,以获得最终分数并将其显示在B类的底部。当我单击A类中的按钮时,应用程序保持停止状态。但我认为问题出在B级。有谁知道如何解决这个问题?非常感谢。

一个班级

code

B级

cumsum

下面显示在logcat中 error

2 个答案:

答案 0 :(得分:0)

尝试example

<RadioGroup
    android:id="@+id/radioSex"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <RadioButton
        android:id="@+id/radioMale"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/radio_male" 
        android:checked="true" />

    <RadioButton
        android:id="@+id/radioFemale"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/radio_female" />

</RadioGroup>

在您的A类课程中

radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
btnDisplay = (Button) findViewById(R.id.btnDisplay);

btnDisplay.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

            // get selected radio button from radioGroup
        int selectedId = radioSexGroup.getCheckedRadioButtonId();

        // find the radiobutton by returned id
            radioSexButton = (RadioButton) findViewById(selectedId);

        Toast.makeText(MyAndroidAppActivity.this,
            radioSexButton.getText(), Toast.LENGTH_SHORT).show();

    }

});

发布崩溃报告以了解有关您的问题的更多信息

答案 1 :(得分:0)

注意数据类型:

在一个课堂上,您有:

score=idx1+idx2;
        Intent intent = new Intent(A.this, B.class);
                intent.putExtra("message", score);
                startActivity(intent);

其中score是int的,但是在B类中:

Bundle extras = getIntent().getExtras();
        if(extras!=null) {
            String m= extras.getString("message");
            totalscore=Integer.parseInt(m);
        }

您正尝试将其获取为字符串,并且它为null,因此应用程序崩溃。

因此,请将其更改为:

Bundle extras = getIntent().getExtras();
        if(extras!=null) {
            totalscore = extras.getInt("message");
        }

然后重试