IndexOutOfBoundsException: 오류가 납니다.
IndexOutOfBoundsException: Invalid index 6, size is 6개 까지는 커스텀 리스트뷰가 잘 나오는데
7번째 아이템을 누르면 앱이 종료가 됩니다.
그래서 로그를 찍어봤더니 7개까지 만들어 졌는데 안되는게 이상하더라구요..
왜 이렇게 된건지 이해가 안돼서, 다른 클래스를 만들어서 intent 시켜봤더니 되더라구요.
MainActivity 코딩이 아닌, 새로 짠 클래스에 코딩이 잘못된것 같단 생각이 들었어요.
그런데 제 문제점을 잘 못찾겠습니다..
혹시 확인 한번 부탁드릴게요!
Spinner f2Spinner = (Spinner) findViewById(R.id.f2); //스피너 설정
ArrayAdapter f2Adapter = ArrayAdapter.createFromResource(this, R.array.f2, android.R.layout.simple_spinner_item);
f2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
f2Spinner.setAdapter(f2Adapter);
f2Spinner.setSelection(6);
Spinner t2Spinner = (Spinner) findViewById(R.id.t2);
ArrayAdapter t2Adapter = ArrayAdapter.createFromResource(this, R.array.t2, android.R.layout.simple_spinner_item);
t2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
t2Spinner.setAdapter(t2Adapter);
t2Spinner.setSelection(6);
Spinner v2Spinner = (Spinner) findViewById(R.id.v2); //스피너 설정
ArrayAdapter v2Adapter = ArrayAdapter.createFromResource(this, R.array.v2, android.R.layout.simple_spinner_item);
v2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
v2Spinner.setAdapter(v2Adapter);
v2Spinner.setSelection(3);
Spinner x2Spinner = (Spinner) findViewById(R.id.x2);
ArrayAdapter x2Adapter = ArrayAdapter.createFromResource(this, R.array.x2, android.R.layout.simple_spinner_item);
x2Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
x2Spinner.setAdapter(x2Adapter);
x2Spinner.setSelection(6);
}
public void onButton20Clicked(View v) {
double num3 = F1;
double num4 = T1;
double num5 = X1;
if (editText60.getText().length() == 0 & editText61.getText().length() == 0 & editText62.getText().length() == 0 & editText63.getText().length() == 0) {
Toast.makeText(getApplicationContext(), "숫자를 입력해 주세요.", Toast.LENGTH_LONG).show();
}
{
if (editText60.getText().length() >= 1 & editText61.getText().length() == 0 & editText62.getText().length() >= 1 & editText63.getText().length() == 0) {
double num1 = Double.parseDouble(editText60.getText().toString())*num3; //f
double num2 = V1;
double t = (1/num1)*num4; //주기
editText61.setText(Double.toString(t));
double x = (num2/num1)*num5; //파장
editText63.setText(Double.toString(x));
}else if(editText60.getText().length() ==0 & editText61.getText().length() >=1 & editText62.getText().length() >=1 & editText63.getText().length()==0) {
double num1 = Double.parseDouble(editText61.getText().toString())*num4; //T
double num2 = V1;
double f = (num1/1)*num3; //주파수
editText60.setText(Double.toString(f));
double x = (num2/f)*num5;
editText63.setText(Double.toString(x));
}else if(editText60.getText().length() ==0 & editText61.getText().length()==0 & editText62.getText().length() >= 1 & editText63.getText().length()>=1) {
double num1 = Double.parseDouble(editText63.getText().toString())*num5; //X
double num2 = V1;
double f = (num2/num1)*num3;
editText60.setText(Double.toString(f));
double t = (1/f)*num4;
editText61.setText(Double.toString(t));
}
}
}
public void onButton22Clicked(View v) {
if (editText60.getText().length()!=0 & editText61.getText().length() !=0 & editText62.getText().length() >=1 & editText63.getText().length() !=0 ) {
editText60.setText(null);
editText61.setText(null);
editText63.setText(null);
}
}
}
이 코딩에 문제가 있는지좀 확인해주세요ㅠㅠ