计数器不会增加android中的单选按钮

时间:2014-07-05 18:25:08

标签: java android

正在使用if语句增加android中测验应用的答案。我认为循环或while循环应该工作berrter。但我也测试过。我现在很好。

以下是我的代码。谢谢

package newton.quizapplication;

import android.app.Activity;
import android.database.CursorJoiner;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;


public class MyActivity extends Activity {
private RadioGroup radioGroup1;
private RadioGroup radioGroup2;
private RadioGroup radioGroup3;
private RadioButton radioButton1;
private RadioButton radioButton2;
private RadioButton radioButton3;
private Button btnSubmit;
private int Ans = 0;


private TextView Total;

// private int wrong = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    String All;
     Total = (TextView)findViewById(R.id.Score);


    addListenerOnButton();
}

public void addListenerOnButton() {
    radioGroup1 = (RadioGroup) findViewById(R.id.rg1);
    radioGroup2 = (RadioGroup) findViewById(R.id.rg2);
    radioGroup2 = (RadioGroup) findViewById(R.id.rg3);
    btnSubmit = (Button) findViewById(R.id.submit);

    btnSubmit.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {

            // get selected radio button from radioGroup
            int selectedId1 = radioGroup1.getCheckedRadioButtonId();
            // find the radiobutton by returned id
            radioButton1 = (RadioButton) findViewById(selectedId1);

            // get selected radio button from radioGroup
            int selectedId2 = radioGroup1.getCheckedRadioButtonId();
            // find the radiobutton by returned id
            radioButton2 = (RadioButton) findViewById(selectedId2);

            // get selected radio button from radioGroup
            int selectedId3 = radioGroup1.getCheckedRadioButtonId();
            // find the radiobutton by returned id
            radioButton3 = (RadioButton) findViewById(selectedId3);


                if (radioButton1.getText().equals("Hyper Text Markup Language")) {

                    Ans++;

                }

                    else  if (radioButton2.getText().equals("The World Wide Web Consortium")) {
                        // Toast.makeText(MyActivity.this, "Incorrect Answer", Toast.LENGTH_SHORT).show();
                         Ans++;

                    }
                   else if (radioButton2.getText().equals("Specific places within a particular page")) {

                       Ans++;

                    }


                    Total.setText("You Got " + Ans + " Answer correct out of 3");


            Ans =0;
        }

    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.my, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
    }
}

1 个答案:

答案 0 :(得分:0)

您应该将条件更改为:

if (radioButton1.getText().equals("Hyper Text Markup Language")) {
    Ans++;
}
if (radioButton2.getText().equals("The World Wide Web Consortium")) {
    // Toast.makeText(MyActivity.this, "Incorrect Answer", Toast.LENGTH_SHORT).show();
    Ans++;
}
if (radioButton3.getText().equals("Specific places within a particular page")) {
    Ans++;
}

在原始代码if (...) ... else if (...) ... else if (...) ...中,只能满足一个条件(因为第一次条件评估为真时,不会检查其他条件),所以Ans只能是0或1。

另外,我假设你的最后一个应该检查radioButon3