상세 컨텐츠

본문 제목

[안드로이드] 간단한 할 일 목록(ToDoList) 쉽게 만드는 방법

안드로이드

by aries574 2022. 3. 19. 14:07

본문


이번 시간에는 간단한 할 일 목록(ToDoList)

만드는 방법을 알아보겠습니다. 


목차

1. 실행 화면

2. 아이템 화면 만들기

3. 메인 화면 구성 activity_main.xml

4. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

2. 아이템 화면 만들기

 file name: list_item

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="20dp"
    android:text="textView"
    android:textAppearance="@style/TextAppearance.AppCompat.Large"
    android:textStyle="bold">
</TextView>

2022.01.01 - [안드로이드] - [안드로이드 스튜디오] 레이아웃 추가하는 방법

 

[안드로이드 스튜디오] 레이아웃 추가하는 방법

이번 시간에는 안드로이드 스튜디오에서 레이아웃 추가하는 방법을 알아보겠습니다. 안드로이드 프로젝트를 만들면 java폴더에는 MainActivity 파일이 있고, res -> layout 폴더에는 activity_main.xml 파일

aries574.tistory.com

 

3. 메인 화면 구성 activity_main.xml

 - 설명 - 

 1. 리스트뷰에 할 일 목록을 보여줍니다. 

 2. 에디트 텍스트에 할 일을 쓰고 버튼으로

 할일을 추가합니다. 

<?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">

    <LinearLayout
        android:id="@+id/bottom_section"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:padding="10dp">

        <EditText
            android:id="@+id/edit_text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_weight="1" />

        <androidx.appcompat.widget.AppCompatButton
            android:id="@+id/add_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="추가" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/bottom_section"
        android:background="#eee">

        <ListView
            android:id="@+id/list_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

</RelativeLayout>

 

 

4. 메인 코드 구현 MainActivity.java

 - 설명 - 

 1. 할일을 ArrayList에 등록하고, ArrayList는 어뎁터에 적용

 2. 어뎁터는 리스트뷰에 적용이 되어, 할일을 등록하면

 자동으로 화면에 할 일이 보이게 됩니다.

 3. 리스트 아이템을 클릭하면, 취소 줄이 생깁니다.

public class MainActivity extends AppCompatActivity {

    ArrayList<String> toDoList;
    ArrayAdapter<String> adapter;
    ListView listView;
    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        
        //초기화
        toDoList = new ArrayList<>();
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, toDoList);
        listView = findViewById(R.id.list_view);
        editText = findViewById(R.id.edit_text);
        
        //어뎁터 적용
        listView.setAdapter(adapter);

        //할일추가 버튼 이벤트
        Button addBtn = findViewById(R.id.add_btn);
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                addItemToList();
            }
        });

        //리스트 아이템 클릭 했을때 이벤트
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                TextView textView = (TextView) view;
                
                //취소선 넣기
                textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            }
        });
    }//onCreate

    //할일 추가
    public void addItemToList(){

        //아이템 등록
        toDoList.add(editText.getText().toString());

        //적용
        adapter.notifyDataSetChanged();;

        //입력창 초기화
        editText.setText("");
    }

}//MainActivity

2022.03.16 - [안드로이드] - [안드로이드] Firebase Storage 이미지 업로드 part1

 

[안드로이드] Firebase Storage 이미지 업로드 part1

이번 시간에는 Firebase를 통해서 이미지를 업로드하는 방법을 알아보겠습니다. 간단하게 설명하자면 Firebase의 Storage에 이미지를 업로드하고, 이미지가 저장된 주소를 Realtime Database에 저장합니다.

aries574.tistory.com

2022.03.17 - [안드로이드] - [안드로이드] Firebase Storage 이미지 리스트 part2

 

[안드로이드] Firebase Storage 이미지 리스트 part2

이번 시간에는 Firebase를 통해서 업로드한 이미지를 가져와서 리스트로 보여주는 방법을 알아보겠습니다. 이전에 했던 포스팅을 이어서 하니 먼저 보시면 됩니다. 2022.03.16 - [안드로이드] - [안드

aries574.tistory.com

2022.03.18 - [안드로이드] - [안드로이드] 이미지 원형으로 쉽게 표현하는 방법

 

[안드로이드] 이미지 원형으로 쉽게 표현하는 방법

이번 시간에는 이미지를 원형으로 보여줘야 하는 프로필 화면에서 쓸 수 있는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 Mai

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역