Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hu.bme.aut.sportislife.race_events;
- import android.app.DatePickerDialog;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.os.Build;
- import android.os.Bundle;
- import com.google.android.material.snackbar.Snackbar;
- import androidx.annotation.RequiresApi;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.appcompat.widget.Toolbar;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import androidx.room.Room;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.DatePicker;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.LinearLayout;
- import android.widget.Spinner;
- import android.widget.TextView;
- import java.util.Calendar;
- import java.util.List;
- import hu.bme.aut.sportislife.R;
- import hu.bme.aut.sportislife.adapter.RaceEventsAdapter;
- import hu.bme.aut.sportislife.data.RaceEventsItem;
- import hu.bme.aut.sportislife.data.RaceEventsListDatabase;
- public class RaceEventsActivity extends AppCompatActivity
- implements DatePickerDialogFragment.OnDateSelectedListener, RaceEventsAdapter.RaceEventsItemClickListener {
- String date = null;
- private ImageButton deleteButton;
- private TextView dateText;
- private EditText nameEditText;
- private Spinner dropdown;
- private Button chooseDateButton;
- private Button saveButton;
- private LinearLayout listOfRows;
- private LayoutInflater inflater;
- //adatbázis
- private RecyclerView recyclerView;
- private RaceEventsAdapter eventsAdapter;
- private RaceEventsListDatabase database;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_race_events);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- nameEditText = findViewById(R.id.salary_name);
- chooseDateButton = findViewById(R.id.dateButton);
- saveButton = findViewById(R.id.save_button);
- //listOfRows = findViewById(R.id.list_of_rows);
- dateText = findViewById(R.id.dateTextView);
- deleteButton = findViewById(R.id.RaceItemRemoveButton);
- //sportok lenyíló listája
- dropdown = findViewById(R.id.raceType);
- final String[] items = new String[]{"Athletics", "Basketball", "Canoe", "Judo", "Swim"};
- ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items);
- dropdown.setAdapter(adapter);
- chooseDateButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- //datepicker dialog
- Calendar now = Calendar.getInstance();
- DatePickerDialog datePickerDialog = new DatePickerDialog(RaceEventsActivity.this, new DatePickerDialog.OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
- // TODO date kijelzése TEXTVIEWban
- date = dayOfMonth + "/" + (month+1) + "/" + year;
- dateText.setText(date);
- }
- }, now.get(Calendar.YEAR),
- now.get(Calendar.MONTH),
- now.get(Calendar.DAY_OF_MONTH));
- datePickerDialog.show();
- }
- });
- inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- /*String level_selected;
- final ImageView athletics, basketball, canoe, judo, swim;
- athletics = (ImageView) findViewById(R.drawable.athletics);
- basketball = (ImageView) findViewById(R.drawable.basketball);
- canoe = (ImageView) findViewById(R.drawable.kajakkenu);
- judo = (ImageView) findViewById(R.drawable.judo);
- swim = (ImageView) findViewById(R.drawable.swim);*/
- ArrayAdapter<String> attractionsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, items);
- dropdown = (Spinner) findViewById (R.id.raceType);
- dropdown.setAdapter(attractionsAdapter);
- //dropdown.setOnItemSelectedListener(this);
- saveButton.setOnClickListener(new View.OnClickListener() {
- @RequiresApi(api = Build.VERSION_CODES.N)
- @Override
- public void onClick(View view) {
- if (nameEditText.getText().toString().isEmpty() || date == null) {
- Snackbar.make(view, "Nincs minden mezo kitoltve!", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- return;
- }
- RaceEventsItem event = getRaceEventsItem();
- createRaceEventsItem(event);
- nameEditText.setText("");
- dateText.setText("");
- //TODO dateTextview ""-ra
- date = null;
- }
- });
- deleteButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- deleteRaceEventsItem();
- }
- });
- //adatbázis
- /*FloatingActionButton fab = findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // TODO implement shopping item creation
- }
- });*/
- database = Room.databaseBuilder(
- getApplicationContext(),
- RaceEventsListDatabase.class,
- "raceevents-list"
- ).build();
- initRecyclerView();
- }
- private RaceEventsItem getRaceEventsItem() {
- RaceEventsItem raceEventsItem = new RaceEventsItem();
- //icon.setImageResource(chooseDateButton.isChecked() ? R.drawable.kajakkenu : R.drawable.judo);
- String selectedSport = dropdown.getSelectedItem().toString();
- switch (selectedSport) {
- case "Athletics":
- raceEventsItem.raceType = RaceEventsItem.Category.ATHLETIC;
- break;
- case "Basketball":
- raceEventsItem.raceType = RaceEventsItem.Category.BASKETBALL;
- break;
- case "Canoe":
- raceEventsItem.raceType = RaceEventsItem.Category.CANOE;
- break;
- case "Judo":
- raceEventsItem.raceType = RaceEventsItem.Category.JUDO;
- break;
- case "Swim":
- raceEventsItem.raceType = RaceEventsItem.Category.SWIM;
- break;
- }
- raceEventsItem.raceName = nameEditText.getText().toString();
- raceEventsItem.raceDate = date;
- return raceEventsItem;
- }
- private void initRecyclerView() {
- recyclerView = findViewById(R.id.MainRecyclerView);
- eventsAdapter = new RaceEventsAdapter(this);
- loadItemsInBackground();
- recyclerView.setLayoutManager(new LinearLayoutManager(this));
- recyclerView.setAdapter(eventsAdapter);
- }
- private void loadItemsInBackground() {
- new AsyncTask<Void, Void, List<RaceEventsItem>>() {
- @Override
- protected List<RaceEventsItem> doInBackground(Void... voids) {
- return database.raceEventsItemDao().getAll();
- }
- @Override
- protected void onPostExecute(List<RaceEventsItem> shoppingItems) {
- eventsAdapter.update(shoppingItems);
- }
- }.execute();
- }
- @Override
- public void onItemChanged(final RaceEventsItem item) {
- new AsyncTask<Void, Void, Boolean>() {
- @Override
- protected Boolean doInBackground(Void... voids) {
- database.raceEventsItemDao().update(item);
- return true;
- }
- @Override
- protected void onPostExecute(Boolean isSuccessful) {
- Log.d("MainActivity", "ShoppingItem update was successful");
- }
- }.execute();
- }
- public void createRaceEventsItem(final RaceEventsItem newItem) {
- new AsyncTask<Void, Void, RaceEventsItem>() {
- @Override
- protected RaceEventsItem doInBackground(Void... voids) {
- newItem.id = database.raceEventsItemDao().insert(newItem);
- return newItem;
- }
- @Override
- protected void onPostExecute(RaceEventsItem shoppingItem) {
- eventsAdapter.addItem(shoppingItem);
- }
- }.execute();
- }
- public void deleteRaceEventsItem() {
- new AsyncTask<Void, Void, RaceEventsItem>() {
- RaceEventsItem deletingItem = getRaceEventsItem();
- @Override
- protected RaceEventsItem doInBackground(Void... voids) {
- return deletingItem;
- }
- @Override
- protected void onPostExecute(RaceEventsItem shoppingItem) {
- database.raceEventsItemDao().deleteItem(deletingItem);
- }
- }.execute();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.race_events_menu_main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- int id = item.getItemId();
- if(id == R.id.action_delete_all){
- }
- if (id == R.id.action_delete_all) {
- listOfRows.removeAllViews();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void onDateSelected(int year, int month, int day) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement