2014-01-15 1 views
0

Я использую намерение передавать данные от деятельности к другому, когда я называю 2-ой деятельности неоднократно ничего не происходит,Android. Намерение только в первый раз отправить то, что я хочу. Зачем?

1-го намерения: `

    Intent intent = new Intent(this, EditActivity.class); 
     intent.putExtra("1stNameIntent", firstName); 
     intent.putExtra("2ndNameIntent", lastName); 
     intent.putExtra("mailIntent", mail); 
     intent.putExtra("mobileIntent", mobile); 
     intent.putExtra("idIntent", intId); 
     startActivity(intent);` 

// Там нет никаких проблем со значениями . ..

2-й вид деятельности:

... `

public String firstNameHint = null; 
public String lastNameHint = null; 
public String mailHint = null; 
public String mobileHint = null; 
public int id; 
public String idStr = null;` 

`protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit); 

    idStr = getIntent().getExtras().getString("idIntent"); 

     id = Integer.parseInt(idStr); 
    firstNameHint = getIntent().getExtras().getString("1stNameIntent"); 
    firstName = (EditText) findViewById(R.id.firstName_ID); 
    firstName.setText(firstNameHint); 
    firstName.setHint(firstNameHint); 

    lastNameHint = getIntent().getExtras().getString("2ndNameIntent"); 
    lastName = (EditText) findViewById(R.id.lastName_ID); 
    lastName.setText(lastNameHint); 
    lastName.setHint(lastNameHint);` 

...

Я не могу найти проблему. После первого использования 2-го действия появляются только значения по умолчанию.

+0

Вы имеете в виду, когда вы запускаете 2-ю операцию в первый раз, она дает вам правильное значение, а второй раз нет? –

+0

Да. Во второй раз, когда я запускаю каждое значение, по умолчанию значение null. – user3190360

+0

Я могу помочь, если вы можете опубликовать полный код для 1-го действия. Похоже, что у вас возникли проблемы при настройке значений в 1-й активности. – Prakash

ответ

0

Возможно, ваша деятельность onCreate не вызывается дважды, в зависимости от «launchMode» активности. Попробуйте установить текст в методе onStart.

Надеюсь, это поможет.

0

осуществить onNewIntent(Intent i) в вашей второй деятельности.

Если вторая деятельность уже создана (как это имеет), любые будущие новые намерения будут идти к этому onNewIntentMethod(...)

Итак, вытащить ваше намерение чтения коды и коду, чтобы установить мнение в другой метод, и имеют как onCreate, так и onNewIntent называют этот новый метод, который фактически выполняет эту работу.

0

вы должны убедиться, что вы звоните putExtra() каждый раз, когда вы начинаете свою деятельность. потому что я думаю, что это работает только с одним намерением. также попробуйте добавить Log.d() на onCreate() второго действия, чтобы узнать, когда оно вызывается.

Смежные вопросы