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ł?
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
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 =
po co ci w drugim activity referencja do Main? po to przekazujesz intentem stringa żeby tamta activity mogła sobie zginąć xD
intent.getStringExtra(MainActivity.message);
@zogard: to jest referencja do zmiennej statycznej w MainActivity
nie powinieneś tak robić.