Merhaba, soru cevap tarzı çoktan seçmeli durumlarda radiobutton tavsiyemdir. Sizin için birşeyler yazdım şimdi taslak olarak kullanabilirsiniz.
Soru1.class
package com.example.envy_m6.sorucevap;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/**
* Created by envy-m6 on 8.4.2016.
*/
public class Soru1 extends Activity {
TextView tv1;
RadioGroup rg1;
RadioButton rb1, rb2, rb3, rb4, rb5;
Button btn1, btn2;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.soru1);
tv1 = (TextView)findViewById(R.id.textView);
rg1 = (RadioGroup)findViewById(R.id.radioGroup);
rb1 = (RadioButton)findViewById(R.id.radioButton);
rb2 = (RadioButton)findViewById(R.id.radioButton2);
rb3 = (RadioButton)findViewById(R.id.radioButton3);
rb4 = (RadioButton)findViewById(R.id.radioButton4);
rb5 = (RadioButton)findViewById(R.id.radioButton5);
btn1 = (Button)findViewById(R.id.button);
btn2 = (Button)findViewById(R.id.button2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (rb1.isChecked()) {
Toast.makeText(getApplicationContext(), "Yanlış Cevap!", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else if (rb2.isChecked()) {
Toast.makeText(getApplicationContext(), "Yanlış Cevap!", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else if (rb3.isChecked()) {
Toast.makeText(getApplicationContext(), "Doğru Cevap, tebrikler.", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), Soru2.class);
startActivity(i);
} else if (rb4.isChecked()) {
Toast.makeText(getApplicationContext(), "Yanlış Cevap!", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else if (rb5.isChecked()) {
Toast.makeText(getApplicationContext(), "Yanlış Cevap!", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
} else {
Toast.makeText(getApplicationContext(), "Seçim Yapmadınız!", Toast.LENGTH_SHORT).show();
}
}
});
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.exit(0);
finish();
}
});
}
}
Doğru cevabı radiobuttonlar içine kendiniz gizlemelisiniz. Buradaki doğru cevap 3. şık gibi. Ayrıca doğru cevabı verince Soru2.class'a geçiş yapıyor. Her class için yeniden oluşturulup birbirine bağlanması gerekir.
Her yanlış cevapta ise anasayfaya yönlenip kullanıcının tekrar başlaması sağlanıyor.
soru1.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:orientation="vertical">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="120dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Soru 1: abcdef"
android:id="@+id/textView" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="250dp">
<RadioGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevap 1"
android:id="@+id/radioButton"
android:checked="false" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevap 2"
android:id="@+id/radioButton2"
android:checked="false" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevap 3"
android:id="@+id/radioButton3"
android:checked="false" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevap 4"
android:id="@+id/radioButton4"
android:checked="false" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevap 5"
android:id="@+id/radioButton5"
android:checked="false" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Geri"
android:id="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cevapla"
android:id="@+id/button2"
android:layout_marginLeft="100dp" />
</LinearLayout>
</LinearLayout>
Ben böyle birşey düzenledim ama üzerine dilediğiniz gibi görsellik katabilirsiniz.
Son olarak AndroidManifest.xml dosyasına her açılan activity için bir activity bloğu eklenmeli.
<activity android:name=".Soru1" >
<intent-filter>
<action android:name="android.intent.action.SORU1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>