User input till Subclass

Diskussion i 'Frågor, support och diskussion' startad av felixnilsson, 3 sept 2013.

  1. felixnilsson

    felixnilsson Infant Droid Medlem

    Blev medlem:
    24 jul 2013
    Inlägg:
    7
    Mottagna gillanden:
    1

    MINA ENHETER

    Hej på er gott folk!

    Jag är relativt ny inom programmeringsvärlden vad gäller Android, men jag tycker ändå jag har utvecklats en hel del under kort tid. Nu sitter jag dock fast, så jag tänkte om någon här vet hur jag ska göra.

    Det är nämligen så att jag har flera stycken klasser i mitt Applikations-projekt i Eclipse, och jag vill nu ha hjälp med att få över "User input" från en "activity" till en annan. Om vi säger så här:

    På första sidan ska användaren skriva in tre namn och trycka på en knapp. När personen gjort det ska dessa namnen tas med till en ny "activity" där det ska radas upp på rad efter varandra slumpvist. På första sidan har jag lagt till tre stycken "editText":s där användaren kan skriva in tre namn. Det jag inte förstår är hur jag ska få användarens inskrivna text att bli förvarad i en variabel som är "flyttbar" till en annan "activity". Det är lite svårt att beskriva men jag hoppas att vi förstår.

    Någon som förstår mitt problem och vet en lösning?:)

    Tack på förhand!

    Mvh Felix Nilsson
     
  2. stofolus

    stofolus Baby Droid Medlem

    Blev medlem:
    3 jan 2013
    Inlägg:
    25
    Mottagna gillanden:
    130

    MINA ENHETER

    Hej!

    När man startar en ny activity så kan man skicka med något som kallas "extras". Det är en key - value lösning som borde lämpa sig till det du ska göra

    För att skicka med:
    Kod:
    Intent i = new Intent(getApplicationContext(), NextAcitivty.class);
    i.putExtra("name1",name1);
    i.putExtra("name2",name2);
    i.putExtra("name3",name3);
    startActivity(i);
    
    För att läsa ut i den nya activityn
    Kod:
    Bundle extras = getIntent().getExtras();
    String name1;
    String name2;
    String name3;
    if (extras != null) {
        name1 = extras.getString("name1");
        name2 = extras.getString("name2");
        name3 = extras.getString("name3");
    }
     
    felixnilsson gillar detta.
  3. felixnilsson

    felixnilsson Infant Droid Medlem

    Blev medlem:
    24 jul 2013
    Inlägg:
    7
    Mottagna gillanden:
    1

    MINA ENHETER

    Det hade jag ingen aning om, så kul att lära sig lite nytt! Men hur ska jag få User Input att bli namn1? Ska jag först använda mig av t.ex. "EditText userNameOne = (EditText) findViewById(R.id.editText1);" och sedan sätta userNameOne = namn1 eller hur gör man det?

    Än en gång, tack på förhand!
     
  4. e7andy

    e7andy Professional Droid Hedersmedlem

    Blev medlem:
    14 okt 2009
    Inlägg:
    2 350
    Mottagna gillanden:
    830
    Telefon:
    Huawei P10 Plus

    MINA ENHETER

    Telefon:
    Huawei P10 Plus
    Telefon 2:
    Nexus 5
    Telefon 3:
    ADP1
    Övrigt:
    LG G Watch R, ChromeCast
    Kolla i klassreferensen för EditText: http://developer.android.com/reference/android/widget/EditText.html
    Där ser du methoden getText() som returnerar texten som en Editable. För att få en Editable till en String så anropar du toString() på den. Det ser du genom att Editable implementerar interfacet CharSequence.

    Det blir då:
    EditText userNameOne = (EditText) findViewById(R.id.editText1);
    String name1 = userNameOne.getText().toString();
     
    felixnilsson gillar detta.
  5. felixnilsson

    felixnilsson Infant Droid Medlem

    Blev medlem:
    24 jul 2013
    Inlägg:
    7
    Mottagna gillanden:
    1

    MINA ENHETER

    Vilken kung du är! Tack så mycket. :)