Inicio » Cursos » Programación Android desde Cero

Curso Programación Android desde Cero

Capitulo 27 ➜ App Lista de Tareas - ToDoList

App Lista de Tareas - ToDoList

Crear una app ToDoList básica en Android con Java (agregar, editar y eliminar)

Ten en cuenta que este es un ejemplo simplificado y básico. Para una app completa, se recomienda implementar más funciones y consideraciones, como el almacenamiento de datos persistente, la gestión de errores y el diseño de interfaz de usuario más elaborado.

Versión Simple: Add y Del

Esta aplicación Android permite agregar tareas y eliminar dichas tares de forma sencilla.

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat 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:id="@+id/main"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_margin="50dp"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <TextView
        android:textAlignment="center"
        android:text="LISTA DE TAREAS | SIMPLE"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <LinearLayout
        android:padding="5dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/tarea"
            android:layout_weight="3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"/>
        <Button
            android:id="@+id/btn"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:text="Add"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</androidx.appcompat.widget.LinearLayoutCompat>

Y el código Java es el siguiente:

package codea.app.todolist;

import android.os.Bundle;
import android.util.Log;
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 androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private EditText texto;
    private Button btn;
    private ListView list;
    private ArrayList<String> items;
    private ArrayAdapter<String> itemsAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        btn = findViewById(R.id.btn);
        list = findViewById(R.id.listView);
        items = new ArrayList<>();
        itemsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,items);
        list.setAdapter(itemsAdapter);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                remove(position);
            }
        });

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addItem(v);
            }
        });

    }
    private void addItem(View view){
        texto = findViewById(R.id.tarea);
        String item = texto.getText().toString();
        itemsAdapter.add(item);
        texto.setText("");
    }
    private  boolean remove(int position){
        Log.d("cliclk","r---"+position);
        items.remove(position);
        itemsAdapter.notifyDataSetChanged();
        return true;
    }
}

 

Versión Avanzada : Add, Edit, Del

Lista de Tareas en Android Studio

 


1362 visitas

Sigue con el curso: Capítulo 28 – App de Preguntas y Respuestas

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Descargar ahora

Más cursos que pueden interesarte

Más cursos

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023