public void InsertKeyword(String keyword,int type) {
if (DBManager.sharedDB().countKeyword >= 5 && type==1) {
Toast.makeText(getActivity().getApplicationContext(),"등록할 수 있는 키워드 수("+Integer.toString(DBManager.sharedDB().countKeyword)+")를 초과하였습니다.", Toast.LENGTH_SHORT).show();
} else if (keyword.length() > 50) {
Toast.makeText(getActivity().getApplicationContext(), "키워드가 최대길이(" + Integer.toString(keyword.length()) + "/50)를 초과하였습니다.", Toast.LENGTH_SHORT).show();
}
else if(keyword.length() ==0) {
}else {
tableRow = new TableRow(getActivity().getApplicationContext());
tableRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT
));
CheckBox checkBox = new CheckBox(getActivity().getApplicationContext());
checkBox.setHeight(TableRow.LayoutParams.MATCH_PARENT);
checkBox.setWidth(TableRow.LayoutParams.MATCH_PARENT);
checkBox.setTextColor(Color.DKGRAY);
checkBox.setTextSize(15);
checkBox.setOnLongClickListener(this);
checkBox.setText(keyword);
if(type==1) {
DBManager.sharedDB().Savekeyword(keyword);
}
this.keyword.setText("");
tableRow.addView(checkBox);
tableLayout.addView(tableRow);
}
}
하위버전 스마트폰에서는 잘 실행이 되는데 kikkat에서만 동작을 하지않습니다.
정확히는 모든 코드를 잘 훑고 지나가는데 화면에 뷰가 추가되어있지않습니다.
에러가 나는것도 아니라서 이유를 모르겠습니다.
키워드를 입력받으면 tableLayout에 CheckBox를 생성해서 키워드로 setText하고
TableRow에 checkBox를 addView하고
CheckBox가 포함 된 TableRow를 다시 TalbeLayout에 addview 하고있습니다.
xml에 테이블로추가하고 체크박스 넣으면 잘 만 보이는데. 왜 동적으로 추가하면 보이지않는걸까요..
같은 코드(어플)로 하위버전 스마트폰에서는 코드수정없이 잘됩니다.