지금 회사에서 필요한 어플리케이션을 제 나름대로 공부하면서 만들고 있는데요
넘 어렵네요..
우선 SettingActivity.java 에서..
처음에는 추가하기 버튼만 있어요.
추가 버튼을 누르면
tr[i] = new TableRow(this); // 테이블로우 하나 를 만들고
name[i] = new EditText(this);
number[i] = new Spinner(this);
bt_delete[i] = new Button(this); // 위젯을 만들어요
그리고 addView 로 위젯을 동적으로 만들어내요..
추가버튼을 클릭할때마다
switch(v.getId()){
case R.id.bt_add :
EditText, Spinner, Button 위젯이 한줄씩 생겨요..
그러고 bt_save 를 누르면 내부메모리에 txt 파일로 값들을 저장하게 되요
제 계획으로는 tr 을 최대 40개정도로 제한만 두려고 하거든요..
처음에 SettingActivity.java 에서 원하는 데이터 만큼 추가해서 입력하는것은 할수있겠는데요..
처음에 30개정도 데이터를 처음에 추가해서 입력해서 사용하다
처음에 위젯에 i 값은 0,1,2,3,4,5,6,7,8........30 이렇게 배열이 생성되고 저장되는데
다시 SettingActivity.java 들어가서..
bt_delete[i] 로 tr[i]를 삭제하고
저장했을때 중간 중간 i 값이 빠지게되고 꼬여버리게 되는데요.
어떤 논리로 접근해야 할까요?
아무리 고민하고 고민해봐도 답이 안나와서요.. 도와주세요..
아예 정적으로 xml에 지정된 40개의 위젯을 코딩해서 쓰면 문제없이 할수있을거 같은데요...
왠지 동적으로 위젯을 만들어서 좀더 깔끔하게 쓰고 싶어서요..
조언 부탁드립니다.. ^^
삭제시 삭제인덱스뒷부분들이 한칸씩앞으로 밀리는걸생각하면 금방 답이 나올텐데요..
0~9까지의 tr이있고 7의 tr을 삭제하면 기존 8이엇던게 7, 9엿던게 8이 되는..
뭐 이건 기본적으로 아실거라고 생각하고 i의 값이 배열로 생성 저장된다고하는데
그럼 삭제할때도 마찬가지로 해당tr값 삭제후 삭제tr의 i값 뒤의 값들을 1씩줄여주면 되겠네요.
for(; i < 배열.size(); i++){
배열[i] -= 1;
}
이런식으로요