重置结果和TextUtil

时间:2018-01-13 11:47:36

标签: java android

所以,我从评论者那里得到了反馈并修复了我的大部分问题,但有两个问题我找不到解决方案(我会用粗体字突出显示它们)第一个问题出现在我点击结果按钮之后一次,因为添加了以前的结果。我知道我应该在按钮方法中将checkQuestionOne的所有方法添加到checkQuestion6但是到目前为止这是不可能的,因为该方法需要(查看或查看值)不起作用,我不知道为什么所以我决定不包括四个单选按钮方法。第二,当checkQuestionFive为空或没有值时,应用程序崩溃我被告知使用if(!TextUtils.isEmpty(gettingQuestionFive.getText())),然后我将Toast消息添加到if语句但它仍然崩溃。任何帮助将不胜感激!!

谢谢!

Java代码:

public class MainActivity extends AppCompatActivity {

    int health = 0;

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


    public void checkQuestionOne(View view) {
        boolean checked = ((RadioButton) view).isChecked();

        switch (view.getId()) {
            case R.id.question_one_yes:
                if (checked)
                    health += 1;
                break;
        }
    }

    public void checkQuestionTwo(View view) {
        boolean checked = ((RadioButton) view).isChecked();

        switch (view.getId()) {
            case R.id.question_two_yes:
                if (checked)
                    health ++;
                break;
        }
    }

    public void checkQuestionThree(View view) {
        boolean checked = ((RadioButton) view).isChecked();

        switch (view.getId()) {
            case R.id.question_three_no:
                if (checked)
                    health ++;
                break;
        }
    }

    public void checkQuestionFour(View view) {
        boolean checked = ((RadioButton) view).isChecked();

        switch (view.getId()) {
            case R.id.question_four_no:
                if (checked)
                    health ++;
                break;
        }
    }

    **public void checkQuestionFive**() {
        EditText gettingQuestionFive = findViewById(R.id.sleep_hours);
        if (!TextUtils.isEmpty(gettingQuestionFive.getText())){
            Toast displayError = Toast.makeText(this, "You missed question 5, plase don't leave it blank", Toast.LENGTH_LONG);
            displayError.show();
        }
        int answerQuestionFive = Integer.parseInt(gettingQuestionFive.getText().toString());

        if (answerQuestionFive >= 7) {
            health ++;
        }
    }

    public void checkQuestionSix() {
        CheckBox checkBoxOneA = findViewById(R.id.fruits_check_box);
        CheckBox checkBoxOneB = findViewById(R.id.chips_check_box);
        CheckBox checkBoxOneC = findViewById(R.id.candy_check_box);
        CheckBox checkBoxOneD = findViewById(R.id.all_three_check_box);

        if (checkBoxOneA.isChecked() && !checkBoxOneB.isChecked() && !checkBoxOneC.isChecked() && !checkBoxOneD.isChecked()) {
            health++;
        }
    }

    **public void overView(View view)**{
        checkQuestionFive();
        checkQuestionSix();
        Toast displayToast = Toast.makeText(this, health + " is your score. If is 4 or above, you have a healthy life", Toast.LENGTH_LONG);
        displayToast.show();
        health = 0;
    }
}

XML code:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.martinevtimov.quizapp2.MainActivity">

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

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="1. Do you eat healty?"
                android:textSize="30sp"
                android:textStyle="bold" />

            <RadioButton
                android:id="@+id/question_one_yes"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Yes"
                android:onClick="checkQuestionOne" />

            <RadioButton
                android:id="@+id/question_one_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="No"
                android:onClick="checkQuestionOne" />

        </RadioGroup>

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="2. Do you work out?"
                android:textSize="30sp"
                android:textStyle="bold" />

            <RadioButton
                android:id="@+id/question_two_yes"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Yes"
                android:onClick="checkQuestionTwo" />

            <RadioButton
                android:id="@+id/question_two_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="No"
                android:onClick="checkQuestionTwo" />


        </RadioGroup>

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="3. Do you drink?"
                android:textSize="30sp"
                android:textStyle="bold" />

            <RadioButton
                android:id="@+id/question_three_yes"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Yes"
                android:onClick="checkQuestionThree" />

            <RadioButton
                android:id="@+id/question_three_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="No"
                android:onClick="checkQuestionThree" />

        </RadioGroup>

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="4. Do you smoke?"
                android:textSize="30sp"
                android:textStyle="bold" />

            <RadioButton
                android:id="@+id/question_four_yes"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Yes"
                android:onClick="checkQuestionFour" />

            <RadioButton
                android:id="@+id/question_four_no"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="No"
                android:onClick="checkQuestionFour" />

        </RadioGroup>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="5. How many hours do you sleep?"
            android:textSize="30sp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/sleep_hours"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Type here"
            android:inputType="number" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="6. What is a healthy snack?"
            android:textSize="30sp"
            android:textStyle="bold" />

        <CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Fruits"
            android:id="@+id/fruits_check_box" />

        <CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Chips"
            android:id="@+id/chips_check_box" />
        <CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Candy"
            android:id="@+id/candy_check_box" />

        <CheckBox
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="All three"
            android:id="@+id/all_three_check_box" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="overView"
            android:text="Check my health"
            android:textAllCaps="true" />

    </LinearLayout>


</ScrollView>

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以看到Logcat和我遇到的消息错误。这个应用程序的目的是使用3个不同的输入(EditText,Radio Buttons和CheckBoxes)制作一个测验应用程序。当EditText保留为空时,会出现崩溃。似乎代码中的onClick属性存在一些问题,但我可以解决它。第二个问题来自单击检查按钮一次以上,而不是将更多点添加到先前的点,我尝试将所有问题方法添加到一个,然后将全局运行状况变量设置为0,但实际上并不正常。另外,看看我的代码下面的两张图片。

Screen Picture 1 Screen Picture 2