PROGRAMMING FOR MOBILE PLATFORMS
5. Implementations
Implementations
This is a simple APP
1. Activity (MainActivity.java):
Java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.LinearLayoutManager;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private EditText editTextItem;
private Button buttonAdd;
private RecyclerView recyclerViewItems;
private List<String> todoItems; // Simple list for now; would use a database later
private TodoAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextItem = findViewById(R.id.editTextItem);
buttonAdd = findViewById(R.id.buttonAdd);
recyclerViewItems = findViewById(R.id.recyclerViewItems);
todoItems = new ArrayList<>(); // Initialize the list
// RecyclerView setup
recyclerViewItems.setLayoutManager(new LinearLayoutManager(this)); // Vertical list
adapter = new TodoAdapter(todoItems); // Create the adapter
recyclerViewItems.setAdapter(adapter); // Set the adapter
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String newItem = editTextItem.getText().toString().trim();
if (!newItem.isEmpty()) {
todoItems.add(newItem); // Add to the list
adapter.notifyItemInserted(todoItems.size() - 1); // Notify adapter
editTextItem.setText(""); // Clear the EditText
} else {
Toast.makeText(MainActivity.this, "Please enter an item", Toast.LENGTH_SHORT).show();
}
}
});
}
}