Új hozzászólás Aktív témák

  • Hiderseek
    csendes tag

    Köszi a segítséget.
    Próbáltam reszelgetni a te kódodat, hogy tovább adja a 2 értéket a harmadik aktivitiynek.
    Hiányosak az ismereteim sajnos.
    Kerestem valami le írást is de nem értem a dolgokat. :W

    A kódnak a felhasználótól bekért értékeit már értem, hogy hogy pakoljuk be változóba.
    Ezt a kód részletet is értem.

    public void onClick(View view) {

    if(view.getId() == R.id.button2)
    finish();

    if(view.getId() == R.id.buttontovabb1)

    Azt viszont még mindig nem, hogy a már változóban benne lévő adatokat hogy pakolom be úgy az intentbe, hogy az jelen esetben a Harmadik ativitynek is érthető és feldolgozható legyen.
    Mert így az üzenetek csak a MasodikActivityig jutnak el a harmadikba már nem érkeznek meg.
    Most így fest a MasodikActivity kódja.

    public class MasodikActivity extends Activity implements OnClickListener {
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_display_message);

    String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
    String message2 = getIntent().getStringExtra(MainActivity.EXTRA_TARGET_USER);

    findViewById(R.id.button2).setOnClickListener(this);
    findViewById(R.id.btTovabb1).setOnClickListener(this);

    ((TextView) findViewById(R.id.tView1)).setText(message);
    ((TextView) findViewById(R.id.tView2)).setText(message2);

    }



    public void onClick(View view) {

    if(view.getId() == R.id.button2)
    finish();

    if(view.getId() == R.id.btTovabb1)
    //startActivity(new Intent(MasodikActivity.this, HarmadikActi.class));
    Intent intent = new Intent(MasodikActivity.this, HarmadikActi.class);
    intent.putExtra(EXTRA_MESSAGE, messaget);
    intent.putExtra(EXTRA_TARGET_USER, message2t);
    startActivity(intent);

    }

    }

    Elnézést a sok értetlenkedésért.

    Az
    intent.putStringExtra()
    függvénynél két dolgot kér. Egy "kulcsot", amivel később azonosítani tudod. Jelen esetben, amikor meg akarod hívni, valamint magát az adatot amit tovább akarsz küldeni.

    Vagyis a getStringExtra()-nál ahhoz hogy beazonosítsuk, hogy melyik adatra van jelen esetben szükség, argumentumként megadjuk a "kulcsot", amihez társítottuk az adatot.

    A te esetedben ez a kulcs egy string az első activityben. (EXTRA_MESSAGE) Így amikor bekéred vissza kell érte "nyúlni", valahogy így:
    getStringExtra(MainActivity.EXTRA_MESSAGE);
    a lényeg, hogy megadd a kulcsot, amihez társítottad amikor bekéred.

    Az EXTRA_MESSAGE az első activityben ebben az esetben lehet akármi:
    public static final String EXTRA_MESSAGE = "enKicsiExtraUzenetem";

    Ha a masodik activityben ezt adod meg, ugyanúgy jó:
    getStringExtra("enKicsiExtraUzenetem");

    public class MasodikActivity extends Activity implements OnClickListener {

    private String message;
    private String extraMessage;

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_display_message);

    message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
    extraMessage = getIntent().getStringExtra(MainActivity.EXTRA_TARGET_USER);

    findViewById(R.id.button2).setOnClickListener(this);
    findViewById(R.id.btTovabb1).setOnClickListener(this);

    ((TextView) findViewById(R.id.tView1)).setText(message);
    ((TextView) findViewById(R.id.tView2)).setText(extraMessage);
    }

    public void onClick(View view) {

    if(view.getId() == R.id.button2)
    finish();

    if(view.getId() == R.id.btTovabb1) {
    Intent intent = new Intent(MasodikActivity.this, HarmadikActi.class);
    intent.putExtra("enUzenetemAMasodikActivitybol", message);
    intent.putExtra("azEnExtraUzenetem", extraMessage);

    startActivity(intent);
    }

    }
    }

    intent.putExtra("enUzenetemAMasodikActivitybol", message);
    intent.putExtra("azEnExtraUzenetem", extraMessage);

    Tehát, megadod a kulcsot, amely egy String és az adatot. Akármilyen kulcsot adhatsz, de ahhoz hogy a következő activityben be tudd kérni, azt kell megadni, amit hozzárendeltél

Új hozzászólás Aktív témák