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

Передача данных между activity - Android

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

Android Передача данных из первого activity во второй и сохранения getSharedPreferences
Передача данных между ListView Android
Передача данных между Activity Android
Передача данных между устройствами Android
Передача данных из activity в service Android

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

Или воспользуйтесь поиском по форуму:
GiGaBiTe911
24 / 24 / 1
Регистрация: 04.02.2013
Сообщений: 132
Записей в блоге: 1
19.02.2013, 19:25     Передача данных между activity #13
частично проблема решена. я забыл уточнить, я передаю данные в Notification, чтобы при нажатии на него запускалась активити. все это я делаю через PendingIntent. так вот, чтобы данные обновлялись необходимо указать флаг FLAG_UPDATE_CURRENT как здесь:
PendingIntent launchIntent= PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT );
но тогда все Notification открывают активити с данными из последнего intent. а как сделать чтобы каждый новый Notification запускал активити со "своими" данными? заранее извиняюсь если это уже вопрос другой темы.
Yandex
Объявления
19.02.2013, 19:25     Передача данных между activity
Ответ Создать тему
Опции темы

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