@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로가 어플을 종료하고 재시작하면 생성하기전인 상태로 초기화 되어있습니다.
재시작시 데이터를 유지하고싶은데.. 다른 방법이 필요한건가요 ? 코드가 잘못된것일까요?