Respostas:
Você tem poucas opções:
1) Use o pacote a partir da 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 método de atalho putExtra () do Intent
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Em seguida, na Atividade lançada, você os leria através de:
String value = getIntent().getExtras().getString(key)
NOTA: Os pacotes configuráveis têm métodos "get" e "put" para todos os tipos primitivos, Parcelables e Serializables. Eu apenas usei Strings para fins de demonstração.
Você pode usar o Bundle a partir do Intent:
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 outra no android
Uma intenção contém a ação e, opcionalmente, dados adicionais. Os dados podem ser passados para outras atividades usando o putExtra()
método intent . 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 objeto Intent pode ser recuperado por meio 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 usando o Bundle. Na sua atividade atual, crie um pacote configurável e defina o pacote configurável para o valor específico e passe esse pacote configurável 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 seu NewActivity, você pode obter esse pacote e recuperar seu valor.
Bundle bundle = getArguments();
String value = bundle.getString(key);
Você também pode passar dados através da intenção. Na sua atividade atual, defina a intenção dessa maneira,
Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);
Agora em sua NewActivity, você pode obter esse valor de uma 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);
No 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.
você pode usar este código em sua primeira atividade :
Intent i = new Intent(Context, your second activity.class);
i.putExtra("key_value", "your object");
startActivity(i);
e obter objeto na segunda atividade :
Intent in = getIntent();
Bundle content = in.getExtras();
// check null
if (content != null) {
String content = content_search.getString("key_value");
}