Advertisement
Guest User

listview

a guest
Mar 22nd, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.46 KB | None | 0 0
  1. MAIN:
  2.  
  3. package com.example.agatarychter.swim2;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.os.Bundle;
  8. import android.view.LayoutInflater;
  9. import android.view.Menu;
  10. import android.view.MenuInflater;
  11. import android.view.MenuItem;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.BaseAdapter;
  15. import android.widget.ImageButton;
  16. import android.widget.ImageView;
  17. import android.widget.ListView;
  18. import android.widget.TextView;
  19. import java.util.ArrayList;
  20.  
  21. public class MainActivity extends AppCompatActivity {
  22.  
  23. private ArrayList<Person> arrayList;
  24. private static final int REQUEST_CODE =1;
  25. private MyAdapter adapter;
  26. public int [] IMAGES = {R.drawable.baby};
  27. @Override
  28. protected void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_main);
  31. LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  32. ListView listView= findViewById(R.id.my_list_view);
  33. arrayList = new ArrayList<>();
  34. adapter = new MyAdapter();
  35. listView.setAdapter(adapter);
  36. }
  37.  
  38. @Override
  39. public boolean onCreateOptionsMenu(Menu menu) {
  40. MenuInflater inflater = getMenuInflater();
  41. inflater.inflate(R.menu.menu, menu);
  42. return true;
  43. }
  44.  
  45. @Override
  46. public boolean onOptionsItemSelected(MenuItem item) {
  47. switch (item.getItemId()) {
  48. case R.id.add_icon:
  49. startActivityForResult(new Intent(getApplicationContext(),Add.class),REQUEST_CODE);
  50. return true;
  51. default:
  52. return super.onOptionsItemSelected(item);
  53. }
  54. }
  55.  
  56. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  57. super.onActivityResult(requestCode, resultCode, data);
  58. if (requestCode == 1) {
  59. String name = data.getStringExtra(Add.NAME_TO_SAVE);
  60. String surname = data.getStringExtra(Add.SURNAME_TO_SAVE);
  61. String age = data.getStringExtra(Add.DATE_TO_SAVE);
  62. arrayList.add(new Person(name,surname,Integer.parseInt(age)));
  63. adapter.notifyDataSetChanged();
  64. }
  65.  
  66. }
  67. class MyAdapter extends BaseAdapter{
  68.  
  69. public MyAdapter(){
  70. }
  71. @Override
  72. public int getCount() {
  73. return arrayList.size();
  74. }
  75.  
  76. @Override
  77. public Object getItem(int i) {
  78. return null;
  79. }
  80.  
  81. @Override
  82. public long getItemId(int i) {
  83. return 0;
  84. }
  85.  
  86. @Override
  87. public View getView(final int i, View newView, ViewGroup viewGroup) {
  88. View view;
  89. if(newView==null)
  90. {
  91. newView = getLayoutInflater().inflate(R.layout.single_item,null);
  92. }
  93. view= newView;
  94. view = getLayoutInflater().inflate(R.layout.single_item,null);
  95. ImageView imageView = view.findViewById(R.id.imageView);
  96. TextView name_txt = view.findViewById(R.id.name_item);
  97. TextView surname_txt = view.findViewById(R.id.surname_item);
  98. TextView age_txt = view.findViewById(R.id.age);
  99. ImageButton imageButton = view.findViewById(R.id.erase_btn);
  100.  
  101. name_txt.setText(arrayList.get(i).getName());
  102. surname_txt.setText(arrayList.get(i).getSurname());
  103. String age_info = age_txt.getText().toString() + Integer.toString(arrayList.get(i).getAge()) + "years ";
  104. age_txt.setText(age_info);
  105.  
  106. // imageView.setImageResource(IMAGES[0]);
  107.  
  108. imageButton.setOnClickListener(new View.OnClickListener() {
  109. @Override
  110. public void onClick(View view) {
  111. arrayList.remove(i);
  112. notifyDataSetChanged();
  113. }
  114. });
  115. return view;
  116. }
  117. }
  118. }
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. ADDING:
  126. package com.example.agatarychter.swim2;
  127.  
  128. import android.app.DatePickerDialog;
  129. import android.content.Intent;
  130. import android.content.SharedPreferences;
  131. import android.support.v4.app.NavUtils;
  132. import android.support.v7.app.AppCompatActivity;
  133. import android.os.Bundle;
  134. import android.view.Menu;
  135. import android.view.MenuInflater;
  136. import android.view.MenuItem;
  137. import android.view.View;
  138. import android.widget.Button;
  139. import android.widget.DatePicker;
  140. import android.widget.EditText;
  141. import android.widget.TextView;
  142. import android.widget.Toast;
  143.  
  144. import java.time.LocalDate;
  145. import java.util.Calendar;
  146. import java.util.Date;
  147.  
  148. public class Add extends AppCompatActivity {
  149.  
  150. private EditText name;
  151. private EditText surname;
  152. public static final String NAME_TO_SAVE = "Name";
  153. public static final String SURNAME_TO_SAVE = "Surname";
  154. public static final String DATE_TO_SAVE = "Date";
  155. private DatePickerDialog.OnDateSetListener dateSetListener;
  156. private int age;
  157. private Calendar calendar;
  158. private static final int DEFAULT_AGE = -1;
  159.  
  160. @Override
  161. protected void onCreate(Bundle savedInstanceState) {
  162. super.onCreate(savedInstanceState);
  163. setContentView(R.layout.activity_add);
  164. age = DEFAULT_AGE;
  165. name = findViewById(R.id.first_name);
  166. surname = findViewById(R.id.surname);
  167. calendar = Calendar.getInstance();
  168. Button calendar_button = findViewById(R.id.date_button);
  169. calendar_button.setOnClickListener(new View.OnClickListener() {
  170. @Override
  171. public void onClick(View view) {
  172. int year = calendar.get(Calendar.YEAR);
  173. int month = calendar.get(Calendar.MONTH);
  174. int day = calendar.get(Calendar.DAY_OF_MONTH);
  175. DatePickerDialog datePickerDialog = new DatePickerDialog(Add.this,android.R.style.Theme_Holo_Dialog_MinWidth,dateSetListener,year,month,day);
  176. datePickerDialog.show();
  177. }
  178. });
  179.  
  180.  
  181. dateSetListener = new DatePickerDialog.OnDateSetListener()
  182. {
  183. @Override
  184. public void onDateSet(DatePicker datePicker, int year, int month, int day) {
  185. long dateToday = calendar.getTimeInMillis();
  186. Calendar calendarChosen = Calendar.getInstance();
  187. calendarChosen.set(year,month,day);
  188. long chosenDate = (calendarChosen.getTimeInMillis());
  189. if(chosenDate>=dateToday)
  190. {
  191. Toast.makeText(getApplicationContext(), R.string.wrong_date, Toast.LENGTH_SHORT).show();
  192. }
  193. else
  194. age = getAge(calendar,calendarChosen);
  195. }
  196. };
  197. }
  198.  
  199. @Override
  200. public boolean onCreateOptionsMenu(Menu menu) {
  201. MenuInflater inflater = getMenuInflater();
  202. inflater.inflate(R.menu.menu_add, menu);
  203. return true;
  204. }
  205.  
  206. @Override
  207. public boolean onOptionsItemSelected(MenuItem item) {
  208. switch (item.getItemId()) {
  209. case R.id.done_icon:
  210. if(surname.getText().toString().length()==0|| name.getText().toString().length()==0 ||age==DEFAULT_AGE)
  211. {
  212. Toast.makeText(getApplicationContext(), R.string.enter_data, Toast.LENGTH_SHORT).show();
  213. }
  214. else {
  215. sendData();
  216. }
  217. return true;
  218. default:
  219. return super.onOptionsItemSelected(item);
  220. }
  221. }
  222.  
  223. private void sendData() {
  224. Intent intent = new Intent();
  225.  
  226. intent.putExtra(NAME_TO_SAVE,name.getText().toString());
  227. intent.putExtra(SURNAME_TO_SAVE,surname.getText().toString());
  228. intent.putExtra(DATE_TO_SAVE,Integer.toString(age));
  229. setResult(1,intent);
  230. finish();
  231. }
  232. //
  233. private int getAge(Calendar calendarToday,Calendar calendarChosen) {
  234. int years = calendarToday.get(Calendar.YEAR) - calendarChosen.get(Calendar.YEAR);
  235. // now make the earlier date the same year as the later
  236. calendarChosen.set(Calendar.YEAR, calendarToday.get(Calendar.YEAR));
  237. // and see if new date become later, if so then one year was not whole, so subtract 1
  238. if(calendarChosen.getTimeInMillis() > calendarToday.getTimeInMillis())
  239. years--;
  240. return years;
  241. }
  242. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement