Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vracanje unazad back u Android aplikaciji

[es] :: Java :: Vracanje unazad back u Android aplikaciji

[ Pregleda: 2341 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Vracanje unazad back u Android aplikaciji08.07.2015. u 14:26 - pre 106 meseci
Potrebna mi je pomoc oko vracanja unazad (BACK )u aplikaciji. Imam npr. tri klase KupciActivity, KupciFragment, KupciDetalj.. Iz KupciDetalj mi vraca undo na KupciFragment i tu radim sa fragmentima. Medjutim na pocetnoj formi (GLAVNAFORMA) posle logovanja imam formu gde mi se nalaze ikonice za kupce, artikle, izvode, rabate..

Kilknem na kupca idem preko intenta u KupciActivity, pa iz njega direktno na KupciFragment..Medjutim kada radim back iz KupciFragment, on preskace formu (GLAVNAFORMA) i ide na logovanje. Kako da resim ovaj problem.

Evo deo koda
GlavnaForma.java

Code:


    protected void onCreate(Bundle savedInstanceState ) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.glavnaforma);
        
        
        //set grid view item
        Bitmap homeIcon = BitmapFactory.decodeResource(this.getResources(), R.drawable.home);
        Bitmap userIcon = BitmapFactory.decodeResource(this.getResources(), R.drawable.personal);
        
        gridArray.add(new Item(homeIcon,"Pregled artikala"));
        gridArray.add(new Item(userIcon,"Pregled kupaca"));
        gridArray.add(new Item(homeIcon,"Pregled dobavljaca"));
        gridArray.add(new Item(userIcon,"Izvodi"));
        gridArray.add(new Item(homeIcon,"Chat"));
        gridArray.add(new Item(userIcon,"Google Mapa"));
        
        
        
        
        
        gridView = (GridView) findViewById(R.id.gridView1);
        customGridAdapter = new CustomGridViewAdapter(this, R.layout.rowgrid, gridArray );
        gridView.setAdapter(customGridAdapter);
    
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                
                // TODO Auto-generated method stub
                Item item = (Item) parent.getItemAtPosition(position);
                String title=item.getTitle();
                Intent inten = getIntent();
                String username=inten.getExtras().getString("username");
                String password=inten.getExtras().getString("password");
                if(title.equals("Pregled artikala")){
                    
                    
                    new SlanjePodatka1().execute(username,password);
                    
                    
                }else if(title.equals("Pregled kupaca")){
                    
                    new SlanjePrikazKupaca().execute(username,password);
                    
                }else if(title.equals("Izvodi")){
                    
                    new SlanjePrikazIzvoda().execute(username,password);
                    
                }else if(title.equals("Chat")){
                    
                    new SlanjePrikazZeljka().execute();
                    
                }
                
                
                
            }




Klikom npr. na izvode preko webservisa pribavljam pin , kada pribavim pin iz udaljene baze ja idem tada u IzvodiActivity1


Code:

Intent i12 = new Intent(getApplicationContext(), IzvodiActivity1.class);//ovde vrati PrikazIzvoda
                     
                      i12.putExtra("username", username);
                      i12.putExtra("password", password);
                      i12.putExtra("pin", pin);
                      startActivity(i12);


Tu sada dolaze fragmenti

Code:

protected void onCreate(Bundle arg0) {
        // TODO Auto-generated method stub
        setContentView(R.layout.f_fragment_radni_layout);
        Log.e("Postavljena vrednost","da");

        super.onCreate(arg0);

        Intent intent = this.getIntent();
        
        //String pin=intent.getStringExtra("pin");
        

        Bundle element = getIntent().getExtras();

        String username = element.getString("username");

        String password = element.getString("password");

        String pin = element.getString("pin");
        Log.e("pin","pin"+pin);

        element.putString("username", username);

        element.putString("password", password);

        element.putString("pin", pin);
        Log.e("element","element"+element);

        Fragment izvodifragment = new IzvodiFragment1();

        izvodifragment.setArguments(element);

        FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();

        transaction.replace(R.id.f_fragment_radni_layout, izvodifragment);

        transaction.commit();
    }



Pa nakon toga imam IzvodiFragment gde u svoj spiner ucitavam sve kupce, datume u txt polja..

I ako bih uradio back, on bi mi preskocio glavnu formu i otisao ponovo na logovanje..
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9490
89.216.32.*



+10253 Profil

icon Re: Vracanje unazad back u Android aplikaciji08.07.2015. u 15:04 - pre 106 meseci
Malo ti je konfuzan post. I preopširan.

Kao prvo, koliko vidim iz pitanja, još nisi raščistio šta je Activity, a šta je Fragment.

Navigacija o kojoj pričaš, u principu, dešava se između Activity-ja. Back dugme, ako ne overriduješ onBack() vraća prethodni Activity is steka.

Šta nasleđuje KupciDetalj ? To je osnovno pitanje.

Generalni, uopšteni odgovor bi bio: overriduj onBack() i tamo startuj Activity koji želiš. U zavisnosti od toga šta želiš / treba da postigneš, postavi odgovarajući Intent Flag

Dobri linkovi:
http://developer.android.com/g...ents/tasks-and-back-stack.html
http://developer.android.com/t...nting-navigation/temporal.html


OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Vracanje unazad back u Android aplikaciji08.07.2015. u 22:39 - pre 106 meseci
Hvala na odgovoru.

Fragmeti su vise manjih aktivnosti. Potrudicu se da budem jasni.

Imam Glavnu formu odnosno Activity, klikom na neku aktivnost npr. Kupce

prikazujem sve kupce u listi (to se desava u klasi KupciFtagment), klikom na nekog kupca prikazujem

detalje za tog kupca (pib, maticni broj, dugovanja) to radim sa klasom KupciDetalj. Back mi radi kada sam na detalju nekog kupca, kada se vracam na prikaz svih kupaca, ali kada zelim da se vratim iz prikaza svih kupaca na glavnu formu

preskace mi glavnu formu i vraca me na logovanje.
Znaci imam glavnu formu, iz koje biram sta zelim da uradim
(Prikaz Kupaca, Izvoda, Artikala, Rabata, Chat...
GlavnaForma nasledjuje Activity,
KupciActivity nasledjuje klasu FragmentActivity,
KupciFtgment nasledjujeFragment,
KupciDetalj nasledjuje Fragment.

Hvala jos jednom na odgovoru.
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9490
89.216.32.*



+10253 Profil

icon Re: Vracanje unazad back u Android aplikaciji09.07.2015. u 08:08 - pre 106 meseci
Čekaj, polako.

Ostavi fragmente na miru. Bitne su Activity. Kojim redosledom se startuju Activity ? Koje

Da li je Login Activity prvi ? Pa onda GlavnaForma. I onda KupciActivity ? Jel ima još neki Activity ?

Da li si overridovao onBackPressed() u KupciActivity (koja je FragmentActivity)



OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Vracanje unazad back u Android aplikaciji09.07.2015. u 08:41 - pre 106 meseci

Prvo ide Login Activity, pa Glavna Forma Activity pa onda KupciActivity..Nisam overridovao onBackPressed()..
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9490
89.216.32.*



+10253 Profil

icon Re: Vracanje unazad back u Android aplikaciji09.07.2015. u 09:31 - pre 106 meseci
... i onda u KupciActivity, prikazuješ ovaj ili onaj fragment, jel tako ?

Elem, vidi, mislim da željenu funkcionalnost na onBack trebalo da implementiraš u KupciActivity (koja je FragmentActvity )

Dakle overriduj onBackPressed()
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Vracanje unazad back u Android aplikaciji09.07.2015. u 09:38 - pre 106 meseci
Da onda u KupciActivity prikazujem fragmente..

Hvala puno na odgovorima ..
 
Odgovor na temu

Dejan tf
student, Fakultet tehnickih nauka Cacak

Član broj: 307010
Poruke: 97
*.dynamic.sbb.rs.



+2 Profil

icon Re: Vracanje unazad back u Android aplikaciji09.07.2015. u 10:25 - pre 106 meseci
Resenje:

U KupciActivity postavite sledeci kod:

Code:


@Override
    public void onBackPressed() {
       
               Intent intent = new Intent(getApplicationContext(),GlavnaForma.class);
               intent.putExtra("username", username);
               intent.putExtra("password",password);
               intent.putExtra("pin",pin);
               
               Toast.makeText(KupciActivity.this,
                       "Pritisnite BACK za izlaz",
                       Toast.LENGTH_LONG).show();
                startActivity(intent);
    }
 
Odgovor na temu

[es] :: Java :: Vracanje unazad back u Android aplikaciji

[ Pregleda: 2341 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.