안녕하세요.
오늘 우리는 매우 쉬운 방법으로 Android에서 할 일 목록을 만드는 방법을 배울 것입니다!
먼저 목록 보기에 포함할 항목에 대한 레이아웃을 만듭니다.
todolist_item.xml
<?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:background="@color/white"
android:padding="20dp"
android:text="textView"
android:textSize="20dp"
android:textStyle="bold">
</TextView>
다음으로 활동 화면 레이아웃을 만듭니다.
todolist.xml
<?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:background="@color/white"
android:padding="10dp">
<EditText
android:id="@+id/edit_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:textSize="17dp"
android:layout_weight="1" />
<Button
android:id="@+id/add_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="17dp"
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>
1. 아래 EditText 영역에 할 일을 메모한 후 추가 버튼을 클릭합니다.
2. 목록 보기에 추가된 작업을 목록 형식으로 표시합니다.
다음은 Java 파일입니다.
TodoList.java
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class TodoList extends AppCompatActivity {
ArrayList<String> toDoList;
ArrayAdapter<String> adapter;
ListView listView;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.todolist);
//초기화
toDoList = new ArrayList<>();
adapter = new ArrayAdapter<String>(this, R.layout.todolist_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("");
}
}//TodoList.java
코드 흐름은 다음과 같습니다.
1. ArrayList에 작업을 등록합니다.
2. 목록 보기에 어댑터가 적용됩니다.
따라서 작업을 등록하면 작업이 자동으로 화면에 나타납니다.
3. 목록 보기에서 항목을 클릭하면 구분선(완전한 정보)이 나타납니다.
실행 화면입니다.
오늘 준비한 내용은 여기까지입니다.
질문이 있으시면 언제든지 의견에 남겨주세요.
감사해요!