2015-01-06 2 views
-4

Я создаю приложение с именем e-wardrobe, пользователи будут заполнять некоторые входы, такие как «тип ткани», «сезон», «цвет». Я хочу, когда пользователь пишет зиму, например, в поле сезона, приложение передаст тип и цветные строки в WinterActivity, но я не знаю, как это сделать. Надеюсь, вы поможете мне, спасибо заранее!Android: Передача данных между действиями

+3

У вас есть название поиска в google? вы найдете много примеров кода и учебника. –

+2

Вы даже потрудились погубить его? выполните поиск 'intent.putExtra', чтобы начать. –

+0

Да, я сделал, и я попробовал кое-что, но они не сработали. :( – user3676303

ответ

0

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

данные, проходящие от A -> B находится в намерениях

но от A -> B (диалоговое или второй шаг) -> осуществляется через ActivityForResult

+0

Его лучше разрешить OP демонстрирует некоторые усилия, прежде чем отдать все решение. –

+1

не дал никакой кодовой помощи :) просто теория. я всегда буду помогать с кодом, если у них есть код, который они написали, и ему нужна помощь. –

0

Вы должны добавить расслоение данных к запуск намерения как этот

//create the intent and bundle 
Intent launchIntent = new Intent(
MenuActivity.this, com.you.AnotherActivity.class); 
Bundle extraData = new Bundle(); 

//assign some values to the bundle 
extraData.putSerializable("key1", "value"); 

//assign bundle to launchIntent 
launchIntent.putExtra("keyBundle", extraData); 

//start the activity 
startActivity(launchIntent); 

Затем извлечь данные в другой деятельности, как это:

//create a new intent to put the one that started this activity 
Intent intent = getIntent(); 

//retrieve the bundle that was sent in the intent 
Bundle recievedBundle = 
     intent.getBundleExtra("keyBundle"); 


//get the bundle passed from the activity that started this one 
MyVariableInAnotherActivity = recievedBundle.getSerializable("key1"); 
0

Попробуйте это:

Intent intent = new Intent(CurrentActivity.this, WinterActivity.class); 
intent.putExtra("cloth", clothTextField.getText().toString()); 
intent.putExtra("color", colorTextField.getText().toString()); 
startActivity(intent); 

В Зимней активности вы получаете их, как:

String cloth = getIntent().getStringExtra("cloth"); 
String color = getIntent().getStringExtra("color"); 

Надеется, что это помогает !!!

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