簡體   English   中英

計數器不增加Android中的單選按鈕

[英]Counter not incrementing for radio button in android

我正在使用if語句來增加android中的測驗應用程序的答案。 我認為for循環或while循環應該會更好。 但是我也對此進行了測試。 現在好起來了。

下面是我的代碼。 謝謝

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錯誤= 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);
    }
}

您應該將條件更改為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM