Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Da bi napunili ListView sa sadrzajem moramo da imamo sledece:
- 1. ListView sa ID-om, kako bi mogli da mu prisupimo iz MainActivity
- 2. ArrayList<String> koja u sebi sadrzi stavke koje treba da se vide u ListView-u
- 3. ArrayAdapter koji ce da poveze ArrayList-u sa ListView
- 1. Dobavimo referencu na ListView
- ListView izborGraca1 = (ListView) findViewById(R.id.lvIzborIgraca1);
- 2. Napravimo ArrayList Stringova koja u sebi ima vrednosti koje ce se videti u ListView-u
- i napunimo je podacima....OPREZ....!
- ArrayLista mora da bude DEKLARISANA VAN METODE, DA BI PRIPADALA SVIM METODAMA , KAKO BI SE NJOJ MOGLO
- PRISTUPITI IZ SVAKE METODE IZ MAIN ACTIVITY-A !!!!!!
- ArrayList<String> izboriIgraca = new ArrayList<String> ();
- public void onCreate(Bundle savedInstance){
- super///
- setContentView...
- ListView izborIgraca1 = (ListView) findViewById(R.id.lvIzborIgraca1);
- // napunimo ArrayList-u sa sadrzajem
- izboriIgraca.add("PAPIR");
- izboriIgraca.add("MAKAZE");
- izboriIgraca.add("KAMEN");
- // napravimo array adapter
- // simple_list_item_1 je DEFAULT izgled ListView (ovaj nash skrnavi, jer LIstView moze i bolje da izgleda, lepse, ali za sada je ok ovako)
- // Neophodno je proslediti referencu na ArrayList-u kako bi adapter znao gde su podaci
- ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, izboriIgraca);
- // Sada povezemo adapter sa ListView
- izborIgraca1.setAdapter(adapter);
- izborIgraca1.addOnItemClickListener( new OnItemClickListener() {
- public void onItemClick(AdapterView<?> parent, View v, int position,
- long id){
- // metoda koja reaguje na klik stavke u listview
- // dobija samo indeks (poziciju) stavke koja je kliknuta
- // BUDUCI da smo povezali ArrayList-u indeks koji dobijemo odgovoara indeksu u listi
- // metoda get izvlaci iz ArrayListe-e element na toj poziciji (ArrayLista ima indekse kao obican niz!!!)
- String izabranaStavka = izboriIgraca.get(position);
- // referenca na TextView prvo
- TextView trenutniIzborIgraca1 = (TextView) findViewById(R.id.tvTrenutniIzborIgraca1);
- // sada mu promenimo tekst (to ce se odmah i videti na GUI-u)
- trenutniIzborIgraca1.setText( izabranaStavka);
- }
- }
- );
- }
- // negde u MainActivity, obicno posle onCreate
- // metoda mora prvo da vidi
- // koji je rezim igre?????????
- // Ako je Covek vs Covek ==> tada izvuci izbor coveka1, izbor coveka2 i uporedi, izbaci toast
- // u suprotnom....Izvuci izbor coveka1, generisi nasumican izbor za racunar i izbaci toast da vidimo ko je pobedio
- // Uvecaj skor pobednika
- public void nekaMetoda(View v){
- // Koji je rezim?
- TextView tvRezim = (TextView) findViewById(R.id.tvTrenutniRezim);
- String trenutniRezim = tvRezim.getText();
- // da li je covek vs covek?
- if (trenutniRezim.equals("Covek vs Covek") ) {
- TextView igrac1 = (TextView) findViewById(R.id.trenutnIIzborIgraca1);
- String izborIgrac1 = igrac1.getText();
- TextView igrac2 = (TextView) findViewById(R.id.trenutnIIzborIgraca2);
- String izborIgrac2 = igrac2.getText();
- int izborIgraca1KaoInt = pretvoriUInt(izborIgrac1);
- int izborIgraca2KaoInt = pretvoriUInt(izborIgrac2);
- String poruka = koJePobedio(izborIgraca1KaoInt, izborIgraca2KaoInt);
- Toast.makeToast(getApplicationContext(), poruka, Toast.LENGTH_LONG).show();
- if(poruka.equals("POBEDIO IGRAC1" ) ){
- // uvecamo textview za poene igraca 1
- TextView tv1 = (TextView) findViewById(R.id.poeniIgraca1);
- // izvadimo tekst, pretvorimo u int
- String poeni = tv1.getText();
- int poeniKaoInt = Integer.parseInt(poeni);
- poeniKaoInt++;
- tv1.setText("" + poeniKaoInt);
- }
- } else {
- Random r = new Random();
- // nextInt(3) daje brojeve od 0 do 2
- // dodajemo 1 na to da bi imali brojeve od 1 do 3
- int izborRacunara = r.nextInt(3) + 1;
- // isti pozivi kao gore...
- }
- }
- final int PAPIR = 1;
- final int MAKAZE = 2;
- final int KAMEN = 3;
- // funkcija koja pretvara String izbor u int
- // PAPIR = 1
- // MAKAZE = 2;
- // KAMEN = 3
- private int pretvoriUInt(String izbor) {
- if( izbor.equals("PAPIR") ){
- return PAPIR;
- } else if ( izbor.equals("MAKAZE") ) {
- return MAKAZE;
- } else if (izbor.equals("KAMEN") ) {
- return KAMEN;
- }
- }
- private String koJePobedio(int igrac1, int igrac2){
- // switch case...!
- // napravimo switch na osnovu izbora igraca 1
- // i onda unutar svakog case, jos 1 switch za izbog igraca 2
- switch(igrac1) {
- case PAPIR:
- switch(igrac2){
- case PAPIR:
- return "NERESENO!";
- case MAKAZE: // igrac 2 makaze a igrac1 papir
- return "IGRAC 2 POBEDIO !";
- case KAMEN: // igrac2 kamen a igrac1 papir
- return "IGRAC 1 POBEDIO!";
- }
- break;
- case MAKAZE:
- switch(igrac2){
- case PAPIR:
- return "IGRAC 1 POBEDIO! ";
- case MAKAZE:
- return "NERESENO! ";
- case KAMEN:
- return "IGRAC 2 POBEDIO !";
- }
- break;
- case KAMEN:
- switch(igrac2){
- case PAPIR:
- return "IGRAC 2 POBEDIO !";
- case MAKAZE:
- return "IGRAC 1 POBEDIO !";
- case KAMEN:
- return "NERESENO";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement