0

こんにちはみんな私は簡単なアンドロイドクイズを作る必要があります。さて、私がそうしたのは、オンラインの他の例の助けを借りたこれらです。

MyOSIActivity.java

package com.mns.mp;


import tp.mns.mp.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MyOSIActivity extends Activity {

    private RadioGroup radioAnswerGroup;
    private RadioButton radioAnswerButton;
    private Button btnSubmit;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        addListenerOnButton();

    }

    public void addListenerOnButton() {

        radioAnswerGroup = (RadioGroup) findViewById(R.id.radioAnswer);
        btnSubmit = (Button) findViewById(R.id.btnSubmit);

        btnSubmit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                // get selected radio button from radioGroup
                int selectedId = radioAnswerGroup.getCheckedRadioButtonId();

                // find the radiobutton by returned id
                radioAnswerButton = (RadioButton) findViewById(selectedId);

                Toast.makeText(MyOSIActivity.this,
                        radioAnswerButton.getText(), Toast.LENGTH_SHORT).show();

            }

        });

    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

        <TextView
        android:id="@+id/Qn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:text="@string/Qn_1"
       />

    <RadioGroup
        android:id="@+id/radioAnswer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/radio_1" 
            android:checked="true" />

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

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

    </RadioGroup>

    <Button
        android:id="@+id/btnSubmit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_submit" />

</LinearLayout>

文字列.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, MyAndroidAppActivity!</string>
    <string name="app_name">MyAndroidApp</string>
    <string name="Qn_1"> Question 1: Acknowledgement, Sequencing, and Flow control are characteristics of which OSI layer?</string>
    <string name="radio_1">Layer 2</string>
    <string name="radio_2"> Layer 3</string>
    <string name="radio_3"> Layer 4</string>
    <string name="btn_submit">Submit</string>

</resources>

ユーザーが送信ボタン(この場合はレイヤー4)を押した後、システムにユーザーの回答と正しい回答を比較させようとしています。ユーザーの回答が間違っている場合、トーストはユーザーに間違っていると返信します。正解を示してください。ユーザーが正しい場合と同様に、ユーザーに正しい応答を返します。だから私は他の場合に使用する必要がありますが、問題は私がまだそれに慣れていないということです。本当に必要なので、指導していただければ幸いです。どうもありがとうございました:D

4

2 に答える 2

0

あなたはこれを非常に多くの方法で行うことができます....あなたが正解のIDを知っているなら、あなたはすることができます:

if (selectedId==correctId){
    //show toast saying it is correct
}
else{
    //toast incorrect
}
于 2012-05-23T11:16:37.627 に答える
0

kotlinで使用できます。

radioAnswerGroup.setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener { group, checkedId ->

//radioAnswerButton is your correct radio button id

val isChecked = radioAnswerButton.isChecked

  if (isChecked) {
      Log.e("is check","right answer--")
  }else{
      Log.e("is check","wrong answer")
  }

})
于 2020-03-21T11:17:08.320 に答える