我正在编程一个测试引擎的学习程序。1问题,4个可能的答案。我有107个问题。要更改此问题,我打算将意图明确告知其他活动。我进行了107次活动是否正常?对吗?有一些简单有效的方法吗?包com.example.examtest;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/**
* @author JoanAlonso
*
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** si recibe false cerrara la app */
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
}
/**
* si un radio que se checkea, es el mismo que el id del radioButton
* correcto, se incrementa a la variable estatica "punto", 1 entero
*/
public void onRadioClicked(View view) {
RadioGroup rgOpciones = (RadioGroup) findViewById(R.id.radioGroup);
int SelectedID = rgOpciones.getCheckedRadioButtonId();
if (SelectedID == R.id.radio_two) {
MainGetSet.incrementaPunto();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
View item = (View)findViewById(R.id.finish);
return true;
}
/**
* se hacen cliclable los items del menu , Si el "id" del grupo de
* radioButtons es el mismo que el "id" del radioButton seleccionado ,se le
* pasa un texto y el valor de la variable "punto".
**/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.finish:
RadioGroup rgOpciones = (RadioGroup) findViewById(R.id.radioGroup);
int SelectedID = rgOpciones.getCheckedRadioButtonId();
if (SelectedID == R.id.radio_two) {
int num = MainGetSet.getPunto();
Intent intent = new Intent(MainActivity.this, Estadistics.class);
intent.putExtra("text", "Correct answers: ");
intent.putExtra("number", num);
startActivity(intent);
MainGetSet.clean();
}
/**
* si el id del grupo de radioButton es distinto que el correcto: se
* envia un texto con la variable punto,que no se verá variada ya
* que nos hemos asegurado que la variable se modifique fuera de
* este item.
*/
if (!(SelectedID == R.id.radio_two)) {
int punto = MainGetSet.getPunto();
Intent intent = new Intent(MainActivity.this, Estadistics.class);
intent.putExtra("text", "Correct answers: ");
intent.putExtra("number", punto);
startActivity(intent);
}
return true;
/**
* aqui se cierra la apliacion. Por ser la activity launcher sólo
* hace falta utilizar finish();
* Se deja a cero la variable "punto"
*
*/
case R.id.cancelExam:
finish();
MainGetSet.clean();
return true;
/**
* si en el menu se presiona el item el color del textView donde
* está la opcion correcta cambia a gris claro. ese textView no se
* podrá volver a clicar una segunda vez
*/
case R.id.answer:
TextView re = (TextView) findViewById(R.id.radio_two);
re.setBackgroundColor(Color.LTGRAY);
re.setEnabled(false);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void onClickNext(View view) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
}
更好的方法是为问题创建一个布局(如果可能的话),然后用点击数据重新填充视图
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句