Forum » Programiranje » [Android]Vrnitev v "parent" activity
[Android]Vrnitev v "parent" activity

KernelPanic ::
Spostovani!
 
Imam aplikacijo, pri kateri se je treba logirati v sistem in to storim z LoginActivity. Ob uspesni prijavi spawnam nov activity - za pregled produktov. Dodal sem gumb za odjavo v ActionTab v novem acivity-ju in sedaj bi rad, da me gumb odjava "popelje" nazaj na LoginActivity in da ME NE vrze ven iz aplikacije. Tukaj je koda za launch novega activity-ja:
 
Lp,
M.
Imam aplikacijo, pri kateri se je treba logirati v sistem in to storim z LoginActivity. Ob uspesni prijavi spawnam nov activity - za pregled produktov. Dodal sem gumb za odjavo v ActionTab v novem acivity-ju in sedaj bi rad, da me gumb odjava "popelje" nazaj na LoginActivity in da ME NE vrze ven iz aplikacije. Tukaj je koda za launch novega activity-ja:
    public void onBtnLoginClick(View v)
    {
        this.setUsername((EditText)findViewById(R.id.field_username));
        this.setPassword((EditText)findViewById(R.id.field_password));
        String strUsername=this.username();
        String strPassword=this.password();
        if(this.loginToDatabase(strUsername,
                                CActivityLoginScreen.md5(strPassword)))
        {
            Intent newActivityIntent = new Intent(this,
                                                  CActivityBrowseMerchandise.class);
            this.startActivity(newActivityIntent);
        }
        else
        {
            Toast.makeText(this,
                          "Napaka: neveljaven uporabnik",
                          Toast.LENGTH_SHORT).show();
            this.setUsername(strEmptyString);
            this.setPassowrd(strEmptyString);
        }   // if
    }   // onBtnLoginClickIn tukaj je koda za izhod iz activity-ja, zadolzenega za pregled produktov:     public void onBtnLogoutClick(View v)
    {
        finish();
    }   // onBtnLogoutClickTorej, zakaj me zgornja koda (klic funkcije finish()) vrze iz aplikacije in ne nazaj na login activity?Lp,
M.

KernelPanic ::
Torej, originalni activity je CActivityLogin, iz katerega bi rad ob uspesnem login-u v sistem pognal activity CActivityMerchandiseBrowser, v katerem je gumb "Odjava", s katerim se odjavim iz sistema in pristanem nazaj v CActivityLogin. 

Aldo ::
Napiši tako:
  
public void onBtnLogoutClick(View v)
{
    startActivity(new Intent(this, CActivityMerchandiseBrowser.class));
    finish();
} 
Marat ::
Torej bi zadeva potekala nekako tako (psevdo koda):
 
CActivityLogin:
  
 
CActivityMerchandiseBrowser:
  
 
To je en način kako naredit ta prehod iz enega v drug activity.
CActivityLogin:
loginButton.setOnClickListener(
     login();
     Intent(CActivityMerchandiseBrowser);
     startActivity(intent);
     CActivityLogin.this.finish();
);
CActivityMerchandiseBrowser:
logoutButton.setOnClickListener(
     logout();
     Intent(CActivityLogin);
     startActivity(intent);
     CActivityMerchandiseBrowser.this.finish();
);
To je en način kako naredit ta prehod iz enega v drug activity.

Mavrik ::
Tako pa že - v Aldotovem primeru bi namreč umrl LoginActivity in ne bi dobil željenega efekta. KernelPanicu sem sicer že razložil, da namesto "finish()" v njegovem primeru pride v poštev FLAG_ACTIVITY_CLEAR_TOP (ki zapre trenuten activity in v back-stacku poišče že obstoječi activity in ga pripelje v ospredje), sam potem niti dovolj ni uspel premisliti kaj dela (in pogledati dokumentacije) da ne bi naredil neumnosti. 
The truth is rarely pure and never simple.

KernelPanic ::
Tako pa že - v Aldotovem primeru bi namreč umrl LoginActivity in ne bi dobil željenega efekta. KernelPanicu sem sicer že razložil, da namesto "finish()" v njegovem primeru pride v poštev FLAG_ACTIVITY_CLEAR_TOP (ki zapre trenuten activity in v back-stacku poišče že obstoječi activity in ga pripelje v ospredje), sam potem niti dovolj ni uspel premisliti kaj dela (in pogledati dokumentacije) da ne bi naredil neumnosti.No pa ce res ne razumem, kam stlacit ta FLAG_ACTIVITY_CLEAR! Bom se bolj poglobil v dokumentacijo, hvala vseeno, sedaj bom pa tole kodo sprobal, ki ste mi jo spisali!
Najlepsa hvala,
M.

KernelPanic ::
Aha se nekaj: Ob uspesni prijavi uporabnika v sistem prejmem iz mysql serverja preko php skripte v CActivityLogin ime in priimek uporabnika, ki se je logiral v sistem. Kako sedaj ti dve vrednosti (ime in priimek) prenesem v CActivityMerchandiseBrowser, da bom v ActionTabu-u poleg gumba "Odjavi" dodal se ime in priime logiranega uporabnika? 

Marat ::
KernelPanic je izjavil:
Aha se nekaj: Ob uspesni prijavi uporabnika v sistem prejmem iz mysql serverja preko php skripte v CActivityLogin ime in priimek uporabnika, ki se je logiral v sistem. Kako sedaj ti dve vrednosti (ime in priimek) prenesem v CActivityMerchandiseBrowser, da bom v ActionTabu-u poleg gumba "Odjavi" dodal se ime in priime logiranega uporabnika?
V CActivityLogin dodaš ime in priimek kot String prek Bundle v Intent:
Intent intent = new Intent(CActivityLogin.this, CActivityMerchandiseBrowser.class);
intent.putExtra("ime", imePriimek); // prvi parameter je ključna beseda, drugi pa String ki ga želiš poslati
startActivity(intent);
V CActivityMerchandiseBrowser pa prejmeš te podatke tako:
Intent intent = getIntent();
String imePriimek = intent.getStringExtra("ime");
 Zgodovina sprememb…
- spremenil: Marat ()
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | [Android] Bluetooth aplikacijaOddelek: Programiranje | 1213 (1076) | marjan_h | 
| » | [Android] Program se sesuje pri zagonuOddelek: Programiranje | 951 (760) | Xpie | 
| » | [android] java.lang.RuntimeExceptionOddelek: Programiranje | 1184 (876) | piki12 | 
| » | [Android]Cudno obnasanje aplikacije in emulatorjaOddelek: Programiranje | 1442 (1271) | KernelPanic | 
| » | [Android]Upper Banner vprasanjeOddelek: Programiranje | 2562 (2468) | KernelPanic |