Curso Programación Android desde Cero
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.
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;
}
}
1376 visitas
Sigue con el curso: Capítulo 28 – App de Preguntas y Respuestas
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023