Pergunta

Qual é a maneira correta de passar um pacote para a atividade que está sendo lançada a partir da atividade atual?Propriedades compartilhadas?

Foi útil?

Solução

Você tem poucas opções:

1) Use o Pacote de Intenção:

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

2) Crie um novo pacote

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

3) Use o putextra () Método de atalho da intenção

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


Então, na atividade lançada, você as lia via:

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

NOTA: Os pacotes têm métodos "Get" e "Put" para todos os tipos primitivos, parqueis e serializáveis. Acabei de usar cordas para fins demonstrativos.

Outras dicas

Você pode usar o pacote da intenção:

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

Ou um pacote inteiro:

myIntent.putExtras(myBundle);

É isso que você está procurando?

Passando dados de uma atividade para atividade no Android

Uma intenção contém a ação e, opcionalmente, dados adicionais.Os dados podem ser passados ​​para outra atividade usando intenção putExtra() método.Os dados são passados ​​como extras e são key/value pairs.A chave é sempre uma String.Como valor você pode usar os tipos de dados primitivos int, float, chars, etc.Também podemos passar Parceable and Serializable objetos de uma atividade para outra.

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

Recuperando dados do pacote da atividade do Android

Você pode recuperar as informações usando getData() métodos no objeto Intent.O Intenção objeto pode ser recuperado através do getIntent() método.

 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); 
  }

Você pode passar valores de uma atividade para outra atividade usando o pacote. Na sua atividade atual, crie um pacote e defina o pacote para o valor específico e passe esse pacote para a intenção.

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

Agora, em sua nova esada atividade, você pode obter este pacote e recuperar seu valor.

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

Você também pode passar dados através da intenção. Em sua atividade atual, defina intenção como essa,

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

Agora, em sua NewActivity, você pode obter esse valor de intenção como esta,

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

Escreva esta é a atividade em que você está:

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

Na 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"));

Isso funciona para mim, você pode tentar.

Fonte:https://www.c-sharpcorner.com/article/how-tesend-the-data-one-ativity-to-another-ativity-in-android-application/

Você pode usar este código em seu primeira atividade :

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

e obtenha objeto em segunda atividade :

 Intent in = getIntent();
    Bundle content = in.getExtras();
   // check null
        if (content != null) {
            String content = content_search.getString("key_value"); 
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top