首先,我是android的新手。我试图对android做一个调查。我的问题是,我希望在选择单选按钮时出现下一个问题和可能的答案,并且对于我所有的问题都是一样的。我使它功能,但不小心我擦除了项目。这是我开发的代码
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView texto1;
TextView texto2;
RadioGroup Selecopc;
int i=1;
private TextView num;
private TextView pregu;
private TextView rep1;
private TextView rep2;
private TextView rep3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.area_de_preguntas);
num = (TextView)findViewById(R.id.Numero);
pregu = (TextView)findViewById(R.id.Pregunta);
rep1 = (TextView)findViewById(R.id.Respuesta1);
rep2 = (TextView)findViewById(R.id.Respuesta2);
rep3 = (TextView)findViewById(R.id.Respuesta3);
Selecopc = (RadioGroup)findViewById(R.id.opcion);
Selecopc.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int checkedId)
{
i++;
String n = String.valueOf(i);
num.setText(n);
String pregseg ="R.string."+"preg"+i;
pregu.setText(pregseg);
}
});
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_settings">Settings</string>
<string name="numero">1</string>
<string name="preg1">Cua...</string>
<string name="preg2">Cu..</string>
<string name="preg3">...</string>
<string name="preg4">...</string>
<string name="preg5">...</string>
<string name="preg6">...</string>
答案 0 :(得分:0)
字符串id资源名称只是一个静态字段。我想你可以用反射来做到这一点,但在你的情况下它并不是更好的选择。更好的方法是预定义标识符数组并使用它们。样品:
private int[] pregs = new int[]{
R.string.preg1,
R.string.preg2,
R.string.preg3
};
稍后使用它:
public void onCheckedChanged(RadioGroup group, int checkedId)
{
i++;
String n = String.valueOf(i);
num.setText(n);
pregu.setText(pregs[i]);
}