Notice
Recent Posts
Recent Comments
Tags
- asp.net core Select
- ASP.Net Core 404
- 파일업로드 체크
- javascript 바코드 생성
- 타임피커
- 404에러페이지
- javascript 유효성체크
- 맥 오라클설치
- 파일업로드 유효성체크
- jquery 바코드
- php 캐쉬제거
- XSS PHP
- 말줄임표시
- ViewData
- django 엑셀불러오기
- jquery 바코드생성
- asp.net Select
- XSS방어
- 하드 윈도우 복사
- javascript redirection
- 바코드 스캔하기
- 강제이동
- 하드 마이그레이션
- TempData
- SSD 복사
- javascript 바코드스캔
- 바코드 생성하기
- Mac Oracle
- asp.net dropdownlist
- ViewBag
웹개발자의 기지개
ListView 리스트뷰 연습2 - 동적으로 아이템 추가 삭제 본문
ListView 리스트뷰 연습1 - 아이템 단일선택, 다중선택가능
https://wonpaper.tistory.com/159?category=811923
ListView 리스트뷰 연습2 - 동적으로 아이템 추가 삭제
ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView)
https://wonpaper.tistory.com/189
ListView 에서 각 아이템을 동적으로 추가, 삭제 해보는 예제를 만들어 보자.
[ activicy_main.xml ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="추가할 문자열 입력하세요"
android:ems="13"/>
<Button
android:id="@+id/button1"
android:text="아이템 추가"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</LinearLayout>
|
cs |
[ MainActivity.java ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
public class MainActivity extends AppCompatActivity {
ListView listView1;
ArrayAdapter<String> adapter;
ArrayList<String> listItem;
EditText editText1;
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("ListView 연습");
editText1 = findViewById(R.id.editText1);
button1 = findViewById(R.id.button1);
listItem = new ArrayList<String>();
listItem.add("홍길동");
listItem.add("이순신");
listItem.add("강감찬");
listItem.add("조자룡");
// 아이템 추가한다.
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
listItem.add(editText1.getText().toString());
adapter.notifyDataSetChanged(); // 변경되었음을 어답터에 알려준다.
editText1.setText("");
}
});
adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,listItem);
listView1 = findViewById(R.id.listView1);
listView1.setAdapter(adapter);
// 각 아이템 클릭시 해당 아이템 삭제한다.
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// 콜백매개변수는 순서대로 어댑터뷰, 해당 아이템의 뷰, 클릭한 순번, 항목의 아이디
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(getApplicationContext(),listItem.get(i).toString() + " 삭제되었습니다.",Toast.LENGTH_SHORT).show();
listItem.remove(i);
adapter.notifyDataSetChanged();
}
});
}
}
|
cs |
MainActivity.java 에서 아이템 동적 추가,삭제 핵심은
ArrayList 인 listItem 을 추가, 삭제하고 반드시 adapter.notifyDatasetChanged() 해서 변경사항을 어답터에게 알려주어야 한다.
'안드로이드' 카테고리의 다른 글
네비게이션 드로어 (Navigation Drawer) 를 활용하여 슬라이드 메뉴 만들기 1 (0) | 2019.11.26 |
---|---|
스피너(Spinner) 와 다이얼로그 대화창 (AlertDialog) 연습1 (0) | 2019.11.21 |
ListView 리스트뷰 연습1 - 아이템 단일선택, 다중선택가능 (0) | 2019.11.19 |
커스텀 다이얼로그 대화창 ( Custom Dialog )연습 1 (0) | 2019.11.19 |
옵션 메뉴 연습하기1 (0) | 2019.11.19 |
Comments