반응형
이번 시간에는 ListView의 정리한 자료를 바탕으로 앱을 만들어보았다.
아래 게시물의 내용이 포함된 앱을 만들었다.
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
|
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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"
tools:context=".MainActivity">
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<Button
android:id="@+id/btn_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="INPUT"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
|
cs |
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
55
|
package com.example.test7;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
List<String> data = new ArrayList<>();
private Button btn_input;
private ListView lv;
int num = 4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
data.add("seminzzang1");
data.add("seminzzang2");
data.add("seminzzang3");
ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, data);
lv = (ListView)findViewById(R.id.lv);
btn_input = (Button)findViewById(R.id.btn_input);
lv.setAdapter(adapter);
btn_input.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
data.add("seminzzang"+num);
num++;
adapter.notifyDataSetChanged();
}
});
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
data.remove(position);
adapter.notifyDataSetChanged();
}
});
}
}
|
cs |
간단한 ListView를 구현하였다. 다른 부분은 다 이해가 가지만 Adapter가 정확히 이해가 가지 않는다.
Adapter는 ListView와 Data(List<String>)을 연결하는 기능을 한다는 것은 알지만,
Adapter에 어떤 종류가 있고, Adapter의 여러가지 함수에 대해 더 공부해야겠다고 느꼈다.
List자료형 관련해서도 공부를 좀더 해야겠다.
초기 항목을 3개로 정하고, INPUT버튼을 누르면 네 번째부터 숫자가 하나씩 올라가며 ListView에 추가하는 기능을 구현했다.
ListView의 항목을 클릭하면 항목이 삭제되는 기능도 구현했다.
반응형
'Legacy' 카테고리의 다른 글
[안드로이드 스튜디오 정리#2] View Component (0) | 2021.01.15 |
---|---|
[안드로이드 스튜디오 독학#15] GridView (0) | 2021.01.15 |
[안드로이드 스튜디오 독학#13] ConstraintLayout (0) | 2021.01.14 |
[안드로이드 스튜디오 독학#12] DrawerLayout (2) | 2021.01.14 |
[안드로이드 스튜디오 독학#11] TableLayout (0) | 2021.01.14 |