Předáním Bundle na startActivity ()?

hlasů
137

Jaký je správný způsob, jak předat balík k činnosti, která je spouští z aktuálního? Sdílené vlastnosti?

Položena 20/04/2009 v 17:13
zdroj uživatelem
V jiných jazycích...                            


6 odpovědí

hlasů
368

Máte několik možností:

1) Pomocí Bundle od záměru :

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Vytvořit nový Bundle

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) Použití putExtra () zástupce způsobu podle záměru

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


Poté v zahájené činnosti, měli byste je přečíst na adrese:

String value = getIntent().getExtras().getString(key)

POZNÁMKA: Svazky byly „dostat“ a „dal“ metody pro všechny primitivní typy, Parcelables a Serializables. Jen jsem použil Struny k předváděcím účelům.

Odpovězeno 04/05/2009 v 10:23
zdroj uživatelem

hlasů
17

Můžete použít Bundle od záměru:

Bundle extras = myIntent.getExtras();
extras.put*(info);

Nebo celý svazek:

myIntent.putExtras(myBundle);

Je to to, co hledáte?

Odpovězeno 20/04/2009 v 17:25
zdroj uživatelem

hlasů
11

Předávání dat z jedné aktivity do aktivity v android

Úmyslem obsahuje kroky a popřípadě další data. Data mohou být předány do jiné činnosti pomocí záměru putExtra()metody. Data je předán jako doplňky a jsou key/value pairs. Klíčem k úspěchu je vždy String. Jako hodnotu můžete použít primitivní datové typy int, float, připálí, atd. Můžeme také předat Parceable and Serializableobjekty z jedné činnosti do druhé.

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

Načítání dat z svazků android činnosti

Můžete získat informace pomocí getData()metody na Intent objektu. Intent objekt lze získat pomocí getIntent()způsobu.

 Intent intent = getIntent();
  if (null != intent) { //Null Checking
    String StrData= intent.getStringExtra(KEY);
    int NoOfData = intent.getIntExtra(KEY, defaultValue);
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
    char charData = intent.getCharExtra(KEY, defaultValue); 
  }
Odpovězeno 19/03/2015 v 05:39
zdroj uživatelem

hlasů
1

Můžete předat hodnoty z jedné činnosti na jinou činnost s použitím svazku. Ve vaší aktuální aktivity, vytvořit svazek a nastavit balík pro danou hodnotu a předat že svazek do záměru.

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

Nyní ve svém NewActivity, můžete získat tento balíček a získejte svou hodnotu.

Bundle bundle = getArguments();
String value = bundle.getString(key);

Můžete také předávat data přes záměru. Ve vaší aktuální aktivity, nastavte záměr takhle,

Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Nyní ve svém NewActivity, můžete získat tuto hodnotu od záměru takhle,

String value = getIntent().getExtras().getString(key);
Odpovězeno 19/02/2018 v 07:31
zdroj uživatelem

hlasů
0

můžete použít tento kód do vašich první činnosti :

 Intent i = new Intent(Context, your second activity.class);
        i.putExtra("key_value", "your object");
        startActivity(i);

a získat objekt v druhém aktivity :

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }
Odpovězeno 02/07/2019 v 10:55
zdroj uživatelem

hlasů
0

Zapsat se jedná o činnost jste v:

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);

V NextActivity.java

Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));

To funguje pro mě, můžete ji zkusit.

Zdroj: https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-to-another-activity-in-android-application/

Odpovězeno 11/09/2018 v 14:29
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more