안드로이드 개발 질문/답변
(글 수 45,052)
카테고리 관리를 클릭하게 되면, 노출되는 다이얼로그.
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
switch(id) {
//카테고리 관리
case DIALOG_CATEGORY_STATUS :{
builder.setTitle("Category 관리");
LinearLayout layout = (LinearLayout)getLayoutInflater().inflate(R.layout.list, null);
ListView lv = (ListView) layout.findViewById(R.id.listView);
adapter = new CustomAdapter(this, mCateArray); //전역에 CustomAdapter apdater 선언되있음.
adapter.notifyDataSetChanged();
lv.setAdapter(adapter);
builder.setView(layout);
Button addBtn = (Button) layout.findViewById(R.id.listBtnAdd);
Button delBtn = (Button) layout.findViewById(R.id.listBtnDel);
//카테고리추가
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DIALOG_CATEGORY_ADD);
dismissDialog(DIALOG_CATEGORY_STATUS);
}
});
//카테고리삭제
delBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db = sql.getWritableDatabase();
for(int i = 0; i < alist.size(); i++){
db.delete(CATEGORY_TBL, "_id=?", new String[]{alist.get(i).toString()});
}
adapter.notifyDataSetChanged();
Toast.makeText(IdeaAll.this, "삭제되었습니다.", Toast.LENGTH_SHORT).show();
}
});
return builder.create();
}
}//switch End
return super.onCreateDialog(id);
}
-설명이 많이 부족하지만, 그래도 봐주세욤~
일단 제가 ListView를 Dialog에 뿌렸는데요.
다이얼로그에서 [추가] 나 [삭제]를 할경우에, LIST를 다시 갱신하고 싶은데요.
notifyDataSetChanged()를 구현해도 새로 갱신이 안되네요. 무슨 문제일까요? ㅠㅠ
ps. 소스 보기가 힘들죠?; 이거 다른분들이 올린것처럼 올릴려면 어떻게 되야 하나요?
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
switch(id) {
//카테고리 관리
case DIALOG_CATEGORY_STATUS :{
builder.setTitle("Category 관리");
LinearLayout layout = (LinearLayout)getLayoutInflater().inflate(R.layout.list, null);
ListView lv = (ListView) layout.findViewById(R.id.listView);
adapter = new CustomAdapter(this, mCateArray); //전역에 CustomAdapter apdater 선언되있음.
adapter.notifyDataSetChanged();
lv.setAdapter(adapter);
builder.setView(layout);
Button addBtn = (Button) layout.findViewById(R.id.listBtnAdd);
Button delBtn = (Button) layout.findViewById(R.id.listBtnDel);
//카테고리추가
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DIALOG_CATEGORY_ADD);
dismissDialog(DIALOG_CATEGORY_STATUS);
}
});
//카테고리삭제
delBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db = sql.getWritableDatabase();
for(int i = 0; i < alist.size(); i++){
db.delete(CATEGORY_TBL, "_id=?", new String[]{alist.get(i).toString()});
}
adapter.notifyDataSetChanged();
Toast.makeText(IdeaAll.this, "삭제되었습니다.", Toast.LENGTH_SHORT).show();
}
});
return builder.create();
}
}//switch End
return super.onCreateDialog(id);
}
-설명이 많이 부족하지만, 그래도 봐주세욤~
일단 제가 ListView를 Dialog에 뿌렸는데요.
다이얼로그에서 [추가] 나 [삭제]를 할경우에, LIST를 다시 갱신하고 싶은데요.
notifyDataSetChanged()를 구현해도 새로 갱신이 안되네요. 무슨 문제일까요? ㅠㅠ
ps. 소스 보기가 힘들죠?; 이거 다른분들이 올린것처럼 올릴려면 어떻게 되야 하나요?



