如何将单选按钮的浮点值一起添加?

时间:2017-04-05 06:47:20

标签: android

我试图在我的代码中找到错误。我不知道为什么我的应用程序会崩溃。我试图增加用户点击单选按钮的价值。但是,当我点击提交按钮时,我的应用程序不幸停止了。并且假设单选按钮只能在收音机组中单击一次但是我的,可以单击所有按钮。你们能帮助我吗?

p / s我还是新手,所以请不要嘲笑我的编码。我真的不知道从哪里开始。已经有两个星期了,所以如果你能给我一些反馈,我将不胜感激。

这是我的xml

<TextView android:id="@+id/tv2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 1. INTRODUCTION (Problem statement, research 
                objectives, research questions, hypothesis, limitation of the
                  study, significance of the study)" android:textAppearance="@style/TextAppearance.AppCompat" />

<RadioGroup android:id="@+id/rg1" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="10dp">

  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">

    <RadioButton android:id="@+id/rb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="@string/_1" />

    <RadioButton android:id="@+id/rb2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="@string/_2" />

    <RadioButton android:id="@+id/rb3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="@string/_3" />

    <RadioButton android:id="@+id/rb4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="@string/_4" />

    <RadioButton android:id="@+id/rb5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="false" android:text="@string/_5" />
  </LinearLayout>
</RadioGroup>

</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:orientation="vertical">

  <TextView android:id="@+id/tv3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 2. LITERATURE REVIEW (Relevant literature)" android:textAppearance="@style/TextAppearance.AppCompat"
  />

  <RadioGroup android:id="@+id/rg2" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb6" style="@style/Widget.AppCompat.CompoundButton.RadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>
  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:orientation="vertical">


  <TextView android:id="@+id/tv4" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 3. RESEARCH METHODOLOGY (Research design, research context, data collection, data analysis)"
    android:textAppearance="@style/TextAppearance.AppCompat" />

  <RadioGroup android:id="@+id/rg3" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb11" style="@android:style/Widget.CompoundButton.RadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb15" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>
  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

  <TextView android:id="@+id/tv5" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 4. RESULT AND FEASIBILITY OF STUDY (Justification of the result, implication of the study, recommendation for future research"
    android:textAppearance="@style/TextAppearance.AppCompat" />

  <RadioGroup android:id="@+id/rg4" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb16" style="@android:style/Widget.DeviceDefault.CompoundButton.RadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb17" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb18" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb19" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>
  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

  <TextView android:id="@+id/tv6" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 5. POSTER PRESENTATION (Type size and type face are easily read, aesthetically pleasing layout, appropriate pictures, and colour is strategically used)"
    android:textAppearance="@style/TextAppearance.AppCompat" />

  <RadioGroup android:id="@+id/rg5" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb21" style="@android:style/Widget.DeviceDefault.Light.CompoundButton.RadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb22" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb23" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb24" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb25" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>
  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

  <TextView android:id="@+id/tv7" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 6. PRESENTATION SKILLS (Smooth transition, eye contact, voice and pacing, enthusiasm, body language)"
    android:textAppearance="@style/TextAppearance.AppCompat" />

  <RadioGroup android:id="@+id/rg6" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb26" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb27" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb28" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb29" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb30" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>

  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">

  <TextView android:id="@+id/tv8" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingTop="10dp" android:text=" 7. CONCLUSION (End argument, defend the research, able to answer questions based on research)"
    android:textAppearance="@style/TextAppearance.AppCompat" />

  <RadioGroup android:id="@+id/rg7" android:layout_width="match_parent" android:layout_height="match_parent">

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:orientation="horizontal" android:paddingTop="10dp">

      <RadioButton android:id="@+id/rb31" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="1" />

      <RadioButton android:id="@+id/rb32" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:text="2" />

      <RadioButton android:id="@+id/rb33" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="3" />

      <RadioButton android:id="@+id/rb34" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" />

      <RadioButton android:id="@+id/rb35" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="5" />
    </LinearLayout>

  </RadioGroup>
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:orientation="vertical" android:weightSum="1">

  <TextView android:id="@+id/tv_comment" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:fontFamily="serif" android:paddingBottom="10dp" android:paddingTop="10dp" android:text="Comment" android:textAppearance="@style/TextAppearance.AppCompat"
    android:textSize="18sp" android:textStyle="bold" />

  <EditText android:id="@+id/et_comment" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="10dp" android:ems="10" android:fontFamily="serif" android:gravity="top" android:inputType="textMultiLine" android:lines="5"
    android:paddingTop="20dp" android:text="Please Enter Your Comment Here" android:layout_weight="0.85" />
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">

  <Button android:id="@+id/btn_submit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Submit" />
</LinearLayout>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">

  <TextView android:id="@+id/tv_outcome" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>

这是我的编码

package com.example.posterevaluation;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.Button;

import android.widget.TextView;


public class FormActivity extends AppCompatActivity {

//RadioGroup rg1,rg2,rg3,rg4,rg5,rg6,rg7;
// RadioButton rb1, rb2,rb3,rb4,rb5,rb6,rb7;
// EditText et1;
Button btn_submit;
TextView tv_outcome;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_form);

    final RadioGroup rg1 = (RadioGroup) findViewById(R.id.rg1);
    final RadioGroup rg2 = (RadioGroup) findViewById(R.id.rg2);
    final RadioGroup rg3 = (RadioGroup) findViewById(R.id.rg3);
    final RadioGroup rg4 = (RadioGroup) findViewById(R.id.rg4);
    final RadioGroup rg5 = (RadioGroup) findViewById(R.id.rg5);
    final RadioGroup rg6 = (RadioGroup) findViewById(R.id.rg6);
    final RadioGroup rg7 = (RadioGroup) findViewById(R.id.rg7);
    //et1 = (EditText) findViewById (R.id.et1);

    tv_outcome = (TextView) findViewById(R.id.tv_outcome);

    btn_submit = (Button) findViewById(R.id.btn_submit);


    btn_submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String value1 = ((RadioButton) findViewById(rg1.getCheckedRadioButtonId())).getText().toString();
            String value2 = ((RadioButton) findViewById(rg2.getCheckedRadioButtonId())).getText().toString();
            String value3 = ((RadioButton) findViewById(rg3.getCheckedRadioButtonId())).getText().toString();
            String value4 = ((RadioButton) findViewById(rg4.getCheckedRadioButtonId())).getText().toString();
            String value5 = ((RadioButton) findViewById(rg5.getCheckedRadioButtonId())).getText().toString();
            String value6 = ((RadioButton) findViewById(rg6.getCheckedRadioButtonId())).getText().toString();
            String value7 = ((RadioButton) findViewById(rg7.getCheckedRadioButtonId())).getText().toString();


            float marks = Float.parseFloat(value1 + value2 + value3 + value4 + value5 + value6 + value7);

            //calculate total

            float total = makeCalculations(marks);

            tv_outcome.setText(String.valueOf(total));

        }
    });   

}

private float makeCalculations(float marks) {

    return ((marks / 35) * 100);

}
}

3 个答案:

答案 0 :(得分:1)

您无需在LinearLayout内使用RadioGroup。设置RadioGroup的方向,并将RadioButton直接放在RadioGroup内。

<RadioGroup
    android:id="@+id/rg1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingTop="10dp">

    <RadioButton
        android:id="@+id/rb1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:checked="false"

        android:text="@string/_1" />

    <RadioButton
        android:id="@+id/rb2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:checked="false"

        android:text="@string/_2" />

    <RadioButton
        android:id="@+id/rb3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"

        android:checked="false"

        android:text="@string/_3" />

    <RadioButton
        android:id="@+id/rb4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:checked="false"

        android:text="@string/_4" />

    <RadioButton
        android:id="@+id/rb5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:checked="false"

        android:text="@string/_5" />
</RadioGroup>

答案 1 :(得分:1)

RadioButton应该是RadioGroup的直接子节点,否则分组不起作用。

例如:

$('audio').trigger('pause');

答案 2 :(得分:1)

您已在此处发布了 xml java 文件,但如果我们的日志也会更有帮助。所以,请不要在下次忘记你的日志。

按照所有人的要求,首先要从LinearLayout删除RadioGroup,如果您希望一次点击一个单选按钮并设置{{1}的方向} RadioGroup如果您希望这些单选按钮成为一行;

horizontal

并且,我认为,因为我们没有这里的日志,所以这是你的代码对我来说很奇怪的地方。尝试

<RadioGroup
  android:id="@+id/rg1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:orientation="horizontal">

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

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

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

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

  <RadioButton
    android:id="@+id/rb5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/_5" />
</RadioGroup>

而不是

 float marks = Float.parseFloat(value1) + Float.parseFloat(value2) + Float.parseFloat(value3) + Float.parseFloat(value4) + Float.parseFloat(value5) + Float.parseFloat(value6) + Float.parseFloat(value7);