我需要将一个参数从一个Java类(A)传递给另一个Java类(B)。 我使用了许多来自Internet的解决方案,但无法解决我的问题。用户将从单选按钮列表中选择答案。分数将被添加,我需要将分数传递给B类。
在B类中,用户继续回答该问题,我需要添加A类和B类的分数,以获得最终分数并将其显示在B类的底部。当我单击A类中的按钮时,应用程序保持停止状态。但我认为问题出在B级。有谁知道如何解决这个问题?非常感谢。
一个班级
code
B级
cumsum
答案 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");
}
然后重试