Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MAIN:
- package com.example.agatarychter.swim2;
- import android.content.Context;
- import android.content.Intent;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.ListView;
- import android.widget.TextView;
- import java.util.ArrayList;
- public class MainActivity extends AppCompatActivity {
- private ArrayList<Person> arrayList;
- private static final int REQUEST_CODE =1;
- private MyAdapter adapter;
- public int [] IMAGES = {R.drawable.baby};
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- ListView listView= findViewById(R.id.my_list_view);
- arrayList = new ArrayList<>();
- adapter = new MyAdapter();
- listView.setAdapter(adapter);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.add_icon:
- startActivityForResult(new Intent(getApplicationContext(),Add.class),REQUEST_CODE);
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 1) {
- String name = data.getStringExtra(Add.NAME_TO_SAVE);
- String surname = data.getStringExtra(Add.SURNAME_TO_SAVE);
- String age = data.getStringExtra(Add.DATE_TO_SAVE);
- arrayList.add(new Person(name,surname,Integer.parseInt(age)));
- adapter.notifyDataSetChanged();
- }
- }
- class MyAdapter extends BaseAdapter{
- public MyAdapter(){
- }
- @Override
- public int getCount() {
- return arrayList.size();
- }
- @Override
- public Object getItem(int i) {
- return null;
- }
- @Override
- public long getItemId(int i) {
- return 0;
- }
- @Override
- public View getView(final int i, View newView, ViewGroup viewGroup) {
- View view;
- if(newView==null)
- {
- newView = getLayoutInflater().inflate(R.layout.single_item,null);
- }
- view= newView;
- view = getLayoutInflater().inflate(R.layout.single_item,null);
- ImageView imageView = view.findViewById(R.id.imageView);
- TextView name_txt = view.findViewById(R.id.name_item);
- TextView surname_txt = view.findViewById(R.id.surname_item);
- TextView age_txt = view.findViewById(R.id.age);
- ImageButton imageButton = view.findViewById(R.id.erase_btn);
- name_txt.setText(arrayList.get(i).getName());
- surname_txt.setText(arrayList.get(i).getSurname());
- String age_info = age_txt.getText().toString() + Integer.toString(arrayList.get(i).getAge()) + "years ";
- age_txt.setText(age_info);
- // imageView.setImageResource(IMAGES[0]);
- imageButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- arrayList.remove(i);
- notifyDataSetChanged();
- }
- });
- return view;
- }
- }
- }
- ADDING:
- package com.example.agatarychter.swim2;
- import android.app.DatePickerDialog;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.support.v4.app.NavUtils;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Button;
- import android.widget.DatePicker;
- import android.widget.EditText;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.time.LocalDate;
- import java.util.Calendar;
- import java.util.Date;
- public class Add extends AppCompatActivity {
- private EditText name;
- private EditText surname;
- public static final String NAME_TO_SAVE = "Name";
- public static final String SURNAME_TO_SAVE = "Surname";
- public static final String DATE_TO_SAVE = "Date";
- private DatePickerDialog.OnDateSetListener dateSetListener;
- private int age;
- private Calendar calendar;
- private static final int DEFAULT_AGE = -1;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_add);
- age = DEFAULT_AGE;
- name = findViewById(R.id.first_name);
- surname = findViewById(R.id.surname);
- calendar = Calendar.getInstance();
- Button calendar_button = findViewById(R.id.date_button);
- calendar_button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- int year = calendar.get(Calendar.YEAR);
- int month = calendar.get(Calendar.MONTH);
- int day = calendar.get(Calendar.DAY_OF_MONTH);
- DatePickerDialog datePickerDialog = new DatePickerDialog(Add.this,android.R.style.Theme_Holo_Dialog_MinWidth,dateSetListener,year,month,day);
- datePickerDialog.show();
- }
- });
- dateSetListener = new DatePickerDialog.OnDateSetListener()
- {
- @Override
- public void onDateSet(DatePicker datePicker, int year, int month, int day) {
- long dateToday = calendar.getTimeInMillis();
- Calendar calendarChosen = Calendar.getInstance();
- calendarChosen.set(year,month,day);
- long chosenDate = (calendarChosen.getTimeInMillis());
- if(chosenDate>=dateToday)
- {
- Toast.makeText(getApplicationContext(), R.string.wrong_date, Toast.LENGTH_SHORT).show();
- }
- else
- age = getAge(calendar,calendarChosen);
- }
- };
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu_add, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.done_icon:
- if(surname.getText().toString().length()==0|| name.getText().toString().length()==0 ||age==DEFAULT_AGE)
- {
- Toast.makeText(getApplicationContext(), R.string.enter_data, Toast.LENGTH_SHORT).show();
- }
- else {
- sendData();
- }
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- private void sendData() {
- Intent intent = new Intent();
- intent.putExtra(NAME_TO_SAVE,name.getText().toString());
- intent.putExtra(SURNAME_TO_SAVE,surname.getText().toString());
- intent.putExtra(DATE_TO_SAVE,Integer.toString(age));
- setResult(1,intent);
- finish();
- }
- //
- private int getAge(Calendar calendarToday,Calendar calendarChosen) {
- int years = calendarToday.get(Calendar.YEAR) - calendarChosen.get(Calendar.YEAR);
- // now make the earlier date the same year as the later
- calendarChosen.set(Calendar.YEAR, calendarToday.get(Calendar.YEAR));
- // and see if new date become later, if so then one year was not whole, so subtract 1
- if(calendarChosen.getTimeInMillis() > calendarToday.getTimeInMillis())
- years--;
- return years;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement