2013-11-19 4 views
4

Мне нужно передать информацию между двумя действиями, но по какой-то причине информация не отправляется/не получает.intent.putExtra не работает

LogCat не дает мне никаких ошибок. Dubugger ясно показывает что-то добавлено к намерению (variabl: mExtras), но трудно точно интерпретировать то, что добавлено. После этого он дает мне «источник не найден» и не помогает мне дальше.

Но сначала сначала. До сих пор я делаю все правильно?

Отправка:

Intent intent = new Intent (this, TaskListActivity.class); 
intent.putExtra (ProjectManager.ID, mId.toString()); 
startActivity (intent); 

ПОЛУЧАТЬ:

Intent intent = getIntent(); 
mId = UUID.fromString (intent.getStringExtra (ProjectManager.ID)); 
+0

Пробовали ли вы ответы на эти вопросы? Работает? – Subbu

+0

Успеха пока нет. Все еще работаю над этим. :/ – abc32112

+0

Вы когда-нибудь находили проблему? – Dent7777

ответ

2

добавить следующий код после умыслом:

Bundle extras = intent.getExtras(); 
String exampleString = extras.getString(ProjectManager.ID); 
0

Попробуйте это на получение Extra:

Bundle extras = getIntent().getExtras(); 
String id; 

if (extras != null) { 
    id= extras.getString(key); 

} 
+0

Где вы пробовали это? и что произойдет, если вы попробуете? – Subbu

+0

Я не знаю, где ты борешься точно. См. Эту статью http://www.vogella.com/articles/AndroidIntent/article.html – Subbu

+0

Я тоже. Кажется достаточно простым, но это просто не работает. Странный. – abc32112

1

что ProjectManager.ID, вы должны пройти тот же уникальный key в то время как ПОЛУЧАТЬ данные putExtra даже способ получения данных неправильно, проверьте ниже код:

Sending:

Intent intent = new Intent (this, TaskListActivity.class); 
intent.putExtra (ProjectManager.ID, mId.toString()); 
startActivity (intent); 

ПОЛУЧАТЬ:

Bundle extras = intent.getExtras(); 
    if(extras!=null){ 
    String _Str = extras.getString(ProjectManager.ID); 
} 
+0

Это константа (String), определенная в другом классе. – abc32112

+0

ProjectManager.ID содержит похожие данные в обоих действиях? – RobinHood

+0

Yup. Идентификатор скважины относится к одной и той же строке. :) – abc32112

0

В FirstActivity.java напишите этот код.

Intent i = new Intent(FirstActivity.this,SecondActivity.class); 
i.putExtra("KEY",value); 
startActivity(i); 

В SecondActivity.java:

Bundle extras=getIntent().getExtras(); 
String name=extras.getString("key"); //if data you are sending is String. 
int i=extras.getInt("key"); //if data you are sending is integer. 
0

Чтобы получить дополнительные услуги в новой деятельности:

String valueOfExtra; 
Intent i = getIntent(); 
//check first 
if(i.hasExtra("extra1")){ 
    valueOfExtra = i.getStringExtra("extra1"); 
} 
Смежные вопросы