Wpis z mikrobloga

#java #android

Jest sobie kod java odpalany na android studio.

public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}


public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editTextTextPersonName);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}

Kto mi powie, czemu nie można po ludzku przekazać STRINGa do drugiego activity?
Tylko muszę robić jakieś czary typu:
Zadeklaruj jakiś EXTRAMESSAGE gdzieś globalnie w MAIN ACTIVITY, przypisz do tego jakiś ciąg znaków
A następnie przekaż to badziewie do intentu za poomocą putExtra, ale tylko wraz z tym co na prawdę chcesz przekazać.
Czyli
intent.putExtra(EXTRA_MESSAGE, message);

Czy ja to dobrze rozumiem, czy o co tu chodzi i kto to wymyślił?

#pytanie #naukaprogramowania
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@joolekk:
1. ale po co to w ogóle deklarować, jeśli to ma być kluczem, można dać po prostu ""?
2. moje drugie activity odbiera te dane tak:

String messageString =
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@zogard:

intent.getStringExtra(MainActivity.message)


po co ci w drugim activity referencja do Main? po to przekazujesz intentem stringa żeby tamta activity mogła sobie zginąć xD
  • Odpowiedz