마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

TableLayout에 동적으로 view를 추가한후 어플을 재시작시 생성했던 view가 없습니다.

0 추천
@Override
    public void onClick(View v) {
        if(v.getId()==R.id.keywordEnrol){
            if(tableLayout.getChildCount()>3)
            {
                Toast.makeText(getActivity().getApplicationContext(),"등록할 수 있는 키워드 수를 초과하였습니다.",Toast.LENGTH_SHORT).show();
            }
            else {
                tableRow = new TableRow(getActivity().getApplicationContext());
                tableRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
                        TableRow.LayoutParams.WRAP_CONTENT
                ));
                CheckBox checkBox = new CheckBox(getActivity().getApplicationContext());
                checkBox.setTextColor(Color.DKGRAY);
                checkBox.setTextSize(20);
                checkBox.setText(keyword.getText());

                tableRow.addView(checkBox);
                tableLayout.addView(tableRow);
            }
        }else {
            for(int i =tableLayout.getChildCount()-1;i>0;i--){
                Log.i("test",tableLayout.getChildCount()-1 +"/"+i);
                if(((CheckBox)((TableRow)tableLayout.getChildAt(i)).getChildAt(0)).isChecked()){
                    Toast.makeText(getActivity().getApplicationContext(),((CheckBox)((TableRow)tableLayout.getChildAt(i)).getChildAt(0)).getText()+"(을)를 삭제하였습니다.",Toast.LENGTH_SHORT).show();
                    tableLayout.removeView(tableLayout.getChildAt(i));
                }
            }
        }
    }

버튼을 클릭하면 (OnClick) TableRow를 동적으로 생성하고 그안에 CheckBox도 동적으로 생성해서

addVIew를 통해 TableRow에 CheckBox를 추가하고

TableLayout에 checkBox가 추가된 TableRow를 addView를통해 추가합니다.

 

추가된 table로가 어플을 종료하고 재시작하면 생성하기전인 상태로 초기화 되어있습니다.

재시작시 데이터를 유지하고싶은데.. 다른 방법이 필요한건가요 ? 코드가 잘못된것일까요?

 

Lunestar (680 포인트) 님이 2015년 2월 24일 질문

1개의 답변

0 추천
 
채택된 답변
DB나 preference에 생성했던 정보들을 저장해놓아야 합니다.
쎄미 (162,410 포인트) 님이 2015년 2월 25일 답변
Lunestar님이 2015년 2월 26일 채택됨
감사합니다 ㅎㅎ . 글올려놓고 해메다가 결국 DB에 저장했습니다.
...