Alguém pode me dizer exatamente como usar getExtra()
e putExtra()
para fins? Na verdade, eu tenho uma variável de string, digamos str, que armazena alguns dados da string. Agora, quero enviar esses dados de uma atividade para outra.
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String keyIdentifer = null;
i.putExtra(strName, keyIdentifer );
e depois no SecondScreen.java
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.table);
TextView userName = (TextView)findViewById(R.id.userName);
Bundle bundle = getIntent().getExtras();
if(bundle.getString("strName")!= null)
{
//TODO here get the string stored in the string variable and do
// setText() on userName
}
}
Eu sei que é uma pergunta muito básica, mas infelizmente estou preso aqui. Por favor ajude.
Obrigado,
Edit: Aqui a string que estou tentando passar de uma tela para outra é dinâmica. Ou seja, eu tenho um editText onde estou obtendo string, independentemente do tipo de usuário. Então, com a ajuda de myEditText.getText().toString()
. Estou recebendo o valor inserido como uma sequência, então eu tenho que passar esses dados.
android
android-intent
Shaista Naaz
fonte
fonte
Respostas:
Use isso para "colocar" o arquivo ...
Em seguida, para recuperar o valor, tente algo como:
fonte
this.getActivity().getIntent().getExtras()
.primeiro Screen.java
Second Screen.java
fonte
Melhor método ...
SendingActivity
RecievingActivity
/// maneira mais curta de receber dados ..
// Isso requer a api 12. // o segundo parâmetro é opcional. Se keyName for nulo, use os
defaultkey
como dados.fonte
Isto é o que eu tenho usado, espero que ajude alguém .. simples e afetivo.
enviar dados
Obter dados
Felicidades!
fonte
É muito fácil de implementar
intent
no Android. Leva você para passar de uma atividade para outra, temos que usar dois métodosputExtra();
egetExtra();
Agora estou mostrando o exemplo.Agora temos que obter o valor do
AnyKeyName
parâmetro, o código abaixo mencionado ajudará a fazer issoPodemos definir facilmente o valor de recebimento
Intent
, onde quer que seja necessário.fonte
Um pequeno adendo: você não precisa criar seu próprio nome para a chave, o android fornece esses, f.ex.
Intent.EXTRA_TEXT
. Modificando a resposta aceita:fonte
ApplicationActivity
fonte
Atualização na classe Intent .
hasExtra()
para verificar se a intenção possui dados na chave.getStringExtra()
diretamente.Passar dados
Obter dados
Sempre coloque as chaves em constantes como prática recomendada.
fonte
PutExtraConstants
uma interface?PutExtraConstants
classe contém apenas constantes (public
,static
,final
). Portanto, é melhor usar a interface para constantes.Mais simples
lado do remetente
lado do receptor
fonte
Colocar String no Objeto de Intenção
NextAcitvity no método onCreate get String
esse é um método fácil e curto
fonte
enviar
obter
fonte
colocar função
fonte
Push Data
O código acima pode estar dentro do principal
activity
. "MyActivity.class
" é o segundoActivity
que queremos lançar; ele deve ser explicitamente incluído no seuAndroidManifest.xml
arquivo.Pull Data
Neste exemplo, o código acima estaria dentro do seu
MyActivity.java
arquivo.Pegadinhas
Este método só pode passar
strings
. Então, digamos que você precise passar umArrayList
para o seuListActivity
; uma solução possível é passar uma cadeia separada por vírgula e depois dividi-la do outro lado.Soluções alternativas
Usar
SharedPreferences
fonte
Simples, na primeira atividade
Na segunda Atividade -
fonte
No FirstScreen.java
No SecondScreen.java
fonte
coloque a corda primeiro
recuperá-lo depois disso
Isso é tudo ;)
fonte
Você pode simplesmente usar a variável estática para armazenar a sequência do seu edittext e, em seguida, usar essa variável na outra classe. Espero que isso resolva seu problema
fonte