Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Creem clasa cu atributele cerute, facem constructor cu toate atributele,
- si constructor fara atribute, getteri si setteri si toString, IMPORTANT
- implements Serializable
- -------------------------------------------------------------------------
- 2. Creem activitatea de formular, un ArrayList de tipul activitatii,
- field-urile care sunt trecuta in XML (EditText, Spinner, CalendarView plm),
- * la CalendarView ne mai trebuie un rand cu Calendar c=Calendar.getInstance();
- * un int editedPosition - pt editarea formularului
- - in onCreate
- -> Intent
- -> Array List-ul de mai sus = (cast)i.getSerializableExtra("list");
- -> field-uri cu findviewById
- -> editedPosition=intent.getIntExtra("pos",-1);
- daca pozitia e diferita de -1 -> array list-ul =
- i.getSerializableExtra("editList");
- etId.setText(String.valueOf(arraylist.get(editedPosition).getId());
- etId.setEnabled(false);
- calendarView.setOnDateChangeListener(new CalendarView.On....
- c=new GregorianCalendar(year,month,dayOfMonth);
- - in btnAdd
- field-urile
- conditiile cerute de problema pt fiecare field
- if(field.getText().toString().isEmpty()) { toast sau plm ce vrei tu }
- else { field=VariableType.valueOf(field.getText().toString(); }
- creaza un nou obiect de tipul clasei de mai sus cu field-urile fiind astea
- de aici
- if(editedPosition!=-1) { arraylistobiect.set(editedPosition,obiect); }
- else { arraylistobiect.add(obiect); }
- intent legat de Main
- intent.putExtra("list",arraylistobiect);
- startActivity(intent);
- --------------------------------------------------------------------------
- 3. Creaza activitatea de tip listView si obiectul lv_item
- - xml pt lista, schimbi din constraint layout in linear layout, adaugi listview
- - obiect lv_item - iti pui ca TextView atributele pe care le vrei afisate
- --------------------------------------------------------------------------
- 4. Clasa adaptorului - extends BaseAdapter
- - creezi array list si context
- - constructor, getter setter,
- - functiile de la BaseAdapter
- getCount() - return lista.size();
- getItem(position) - return lista.get(position);
- getItemId(position) - return lista.get(position).getID();
- creem inauntru o clasa Handler cu TextView pt fiecare atribut si un
- constructor cu parametru Handler(View view) -
- fiecare atribut = view.findViewById(R.id.atribut);
- functia getView(int position, View convertView, ViewGroup parent) {
- creezi un obiect handler
- verifici daca convertView e null - daca e null
- convertView=LayoutInflater.from(context).inflate(R.layout.lv_item,parent,false);
- obiectHandler=new ObiectHandler(convertView);
- convertView.setTag(obiectHandler);
- else - obiectHandler=(ObiectHandler)convertView.getTag();
- creaza un obiect de tipul clasei creata la inceput
- Obiect obiect=(Obiect)arraylist .get(position);
- obiectHandler.atribut1.setText(VariableType.valueOf(obiect.getId());
- return convertView;
- -------------------------------------------------------------------------
- 5. Clasa ActivitateLista
- creezi arrayList, ListView si adaptor
- - in onCreate
- Intent
- arrayList=(cast)intent.getSerializableExtra("list");
- adaptor=new Adaptor(arrayList,this);
- listView=findViewById(R.id.dpList);
- listView.setAdapter(adaptor);
- listView.setOnItemClickListener(new AdapterView.OnItem....
- onItemClick
- Intent i = new Intent(ListActivity.this,AddForm.class);
- i.putExtra("pos",position);
- i.putExtra("editList",arrayList);
- startActivity(i);
- --------------------------------------------------------------------------
- 6. Main Activity
- creezi arrayList in plm iar
- - in onCreate
- Intent i=getIntent();
- ArrayList<DataPackage> test=(cast)i.getSerializableExtra("list");
- if(test!=null) {
- arrayList=test;
- Intent intent=new Intent(this,ListActivity.class);
- intent.putExtra("list",arrayList);
- startActivity(intent);
- - butonul de Add
- Intent intent = new Intent(this,AddActivity.class);
- intent.putExtra("list",arrayList);
- startActivity(intent);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement