【发布时间】:2016-02-28 06:40:08
【问题描述】:
我想在 android 中制作一个简单的测验应用程序,但我发现在显示我的问题时有些困难。我使用字符串数组来保留我的问题并尝试用数组显示它。 这是我的代码
这是我的错误日志
E/AndroidRuntime: 致命异常: main 进程:com.example.hikaru.sistempakar,PID:2626 java.lang.ArrayIndexOutOfBoundsException:长度=7;索引=7 在 com.example.hikaru.sistempakar.MainActivity$1.onClick(MainActivity.java:46)
public class MainActivity extends AppCompatActivity {
TextView tv;
Button btn;
RadioGroup rg;
RadioButton rb1,rb2;
String questions[]={"Kulit Memerah?","Kulit Gatal?","Kulit Bersisik?","Kulit Menggumpal?","Kulit Melemouble?","Kulit Menebal?","Iritasi Kulit?"};
String opt[]={"Ya","Tidak"};
String ans[]={};
int flag=0;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.textView);
rb1=(RadioButton)findViewById(R.id.radioButton1);
rb2=(RadioButton)findViewById(R.id.radioButton2);
btn=(Button)findViewById(R.id.button);
rg=(RadioGroup)findViewById(R.id.radioGroup1);
tv.setText(questions[flag]);
rb1.setText(opt[0]);
rb2.setText(opt[1]);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// RadioButton uans=(RadioButton)findViewById(rg.getCheckedRadioButtonId());
//String ansText=uans.getText().toString();
for(flag=0;flag<=questions.length;flag++)
{
tv.setText(questions[flag]);
rb1.setText(opt[0]);
rb2.setText(opt[1]);
}
//Intent in = new Intent(getApplicationContext(),ResultActivity.class);
//startActivity(in);
}
});
}
}
【问题讨论】:
-
有什么问题?
-
当我运行它时,仅显示数组索引 0 中的项目的项目然后应用程序被强制关闭
-
E/AndroidRuntime: 致命异常: 主进程: com.example.hikaru.sistempakar, PID: 2626 java.lang.ArrayIndexOutOfBoundsException: length=7; index=7 在 com.example.hikaru.sistempakar.MainActivity$1.onClick(MainActivity.java:46)
-
将循环条件更改为
flag<questions.length,删除=。 -
还是不行,我之前试过... ._.a
标签: android arrays for-loop display