Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.66
kuzmichev92
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 9
#1

Передача данных между activity - Программирование Android

09.05.2012, 15:15. Просмотров 4800. Ответов 12
Метки нет (Все метки)

Здравствуйте!
Для передачи данных между Activity требуется

Создаём новое намерение (Intent).
Java
1
Intent intent = new Intent(this, NewActivity.class);
И добавляем в него нужные на параметры:
Java
1
2
intent.putExtra("paramName1", paramValue1);
intent.putExtra("paramName2", paramValue2);
Пользователь вводит данные в строку(текст)-где этот param сохраняется,чтобы его потом вызвать?=)


Текст Layout
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/back" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="15dp"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView2"
        android:layout_marginLeft="16dp"
        android:ems="10"
        android:inputType="textPersonName" >
        <requestFocus />
    </EditText>
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_toLeftOf="@+id/textView1"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/textView3"
        android:ems="10"
        android:inputType="phone" />
    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editText2"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <EditText
        android:id="@+id/editText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText2"
        android:layout_below="@+id/textView4"
        android:ems="10"
        android:inputType="textEmailAddress" />
    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/editText3"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
    <EditText
        android:id="@+id/editText4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText3"
        android:layout_below="@+id/textView5"
        android:ems="10"
        android:inputType="textMultiLine" />
    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText4"
        android:layout_marginTop="49dp"
        android:layout_toRightOf="@+id/textView1"
        android:text="Small Text"
        android:textAppearance="?android:attr/textAppearanceSmall" />
</RelativeLayout>
Интересует передача данных,введенных пользователем, в другую деятельность из элемента с ID editText2 и подобных ему.
Вложения
Тип файла: rar Sliding.rar (63.3 Кб, 19 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 15:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача данных между activity (Программирование Android):

Передача данных между Activity - Программирование Android
Доброго времени суток, господа. Такой вопрос: с точки зрения ООП програмирования и программирования в целом, каким образом практичнее...

Передача данных между тремя Activity - Программирование Android
Доброго времени суток! у меня тут проблемка, связанная с Intent'ами, помогите разобраться. Есть 3 активности: MainActivity, SearchActivity...

Android - Передача данных с одного Activity на другое Activity - Программирование Android
Здравствуйте , возникла необходимость получения числовых (int и float ну или double) данных в одном Activity , а обработка и вывод...

Передача значений между Activity - Программирование Android
Есть 2 Activity, Main и Two. В Main - TextView. в Two - Button и Edittext (Decimal) Как мне передать с Two в Main значение указное в...

Передача данных из activity в service - Программирование Android
Здравствуйте, как можно организовать передачу данных из activity в сервис, если сервис уже запущен и работает. как он должен отлавливать...

Передача данных в другую Activity - Программирование Android
добрый день, подскажите пожалуйста, в одном активити я получаю значение от пользователя в editText, и мне это значение нужно передать в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
09.05.2012, 15:34 #2
Если я правильно понял вам надо забрать значение из editText2
то это делаеться так
Java
1
    ((TextView) findViewById(R.id.loginTextField)).getText().toString()
Good-bad man
254 / 232 / 17
Регистрация: 31.10.2010
Сообщений: 504
09.05.2012, 16:01 #3
Если вы про то, как достать данные в том активити, в которое они передаются -
Java
1
getIntent().getStringExtra("paramName1");
kuzmichev92
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 9
09.05.2012, 16:11  [ТС] #4
спасибо всем) инетерсует момент-как заполнить параметр toString()?
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
09.05.2012, 16:14 #5
это функция
она переводит в строку
чем вы хотите заполнить
kuzmichev92
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 9
09.05.2012, 16:18  [ТС] #6
Получается,что введеный текст в EditText она забирает и переводит в String,из которого этот введенный текст мы потом забираем в следующей Activity?
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
09.05.2012, 16:22 #7
ну да присваиваете в paramValue1 например
и потом ваш код
HTML5
1
intent.putExtra("paramName1", paramValue1);
а когда хотите достать значение как писал
Good-bad man,
Java
1
getIntent().getStringExtra("paramName1");
Good-bad man
254 / 232 / 17
Регистрация: 31.10.2010
Сообщений: 504
09.05.2012, 16:25 #8
В первом активити, например, после нажатия кнопки:
Java
1
2
3
Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("paramName1", ((TextView) findViewById(R.id.loginTextField)).getText().toString());
startActivity(intent); // запускается второе активити
Во втором активити:
Java
1
2
// появится сообщение с текстом, который пользователь ввёл в первом активити
Toast.makeText(this, getIntent().getStringExtra("paramName1"), Toast.LENGTH_LONG).show();
kuzmichev92
1 / 1 / 0
Регистрация: 09.05.2012
Сообщений: 9
09.05.2012, 21:00  [ТС] #9
Огромное спасибо всем)Получилось)
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
19.02.2013, 17:57 #10
Спасибо за полезный совет. но у меня возникла иная проблема. при передаче данных (из отдельного потока в активити) первый раз данные передаются правильно, но при последующих передачах уже других данных открывается активити с данными кот. были переданы в самый первый раз (такое впечатление что они где то кешируюЦа.) хотя все сделано как в примере, интент создается новый (Intent intent = new Intent(this, NewActivity.class) данные в интент передаются тоже новые, но при получении данных в активити интент все равно возвращает старые данные.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
19.02.2013, 18:35 #11
может она просто не закрывалась?
Good-bad man
254 / 232 / 17
Регистрация: 31.10.2010
Сообщений: 504
19.02.2013, 18:38 #12
GiGaBiTe911, покажите код.
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
19.02.2013, 19:25 #13
частично проблема решена. я забыл уточнить, я передаю данные в Notification, чтобы при нажатии на него запускалась активити. все это я делаю через PendingIntent. так вот, чтобы данные обновлялись необходимо указать флаг FLAG_UPDATE_CURRENT как здесь:
PendingIntent launchIntent= PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT );
но тогда все Notification открывают активити с данными из последнего intent. а как сделать чтобы каждый новый Notification запускал активити со "своими" данными? заранее извиняюсь если это уже вопрос другой темы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 19:25
Привет! Вот еще темы с ответами:

Передача данных из Activity в Fragment - Программирование Android
Есть основной класс (puplic class ViewContact) в котором есть фрагменты (public static class MainFragment extends Fragment), есть база...

Передача данных из первого activity во второй и сохранения getSharedPreferences - Программирование Android
Всем привет. Есть 2 activity, хочу передать данные из первого activity во второе. Данные передаются, проверил через логи. Но когда...

Передача данных между Активити - Программирование Android
Все никак не могу разобраться, как передавать данные между активити? я до этого пользовался статическими полями, но это кажется не совсем...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.02.2013, 19:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru