안드로이드 개발 질문/답변
(글 수 45,052)
public class AcceptList extends ListActivity {
String item[];
Button del;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.acceptlist);
del = (Button)findViewById(R.id.del);
del.setOnClickListener(delbutton);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, item));
ListView listView = getListView();
listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
}
private void insert(){
}
private void delete(){
ListView dellist = getListView();
}
private OnClickListener delbutton = new OnClickListener(){
public void onClick(View v) {
delete();
}
};
}
이 코드에서 다른 activity 에서 값을 받아와서 리스트에 추가하고,
list 에 클릭된 것들은 삭제 버튼을 누르면 삭제하고 싶습니다.
insert() / delete() 함수를 어떻게 구현해야 할까요??
insert() 에서는 인수를 받아와야 되겠죠?? 근데 다른 클래스에서
AcceptList list = new AcceptList(); 로 객체 선언하고,
list.insert() 함수를 불러오려 해봐도 함수가 안뜨더라고요. 왜 그런걸까요??




arrayAdapter의 메소드를 보면 insert와 remove가 있네요.
해당 메소드로 list item을 추가/삭제한뒤 nofityDataSetChanged()를 호출해주면 될듯하네요.
list의 경우 item이 변경되면 꼭 nofityDataSetChanged()를 호출해줘야 반영이 됩니다.