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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 65, средняя оценка - 4.98
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
#1

Принятие данных из Activity в Fragment - Программирование Android

03.03.2013, 20:00. Просмотров 8768. Ответов 46
Метки нет (Все метки)

Здравствуйте, Дело вот как обстоит, мне нужно приянять один стринг параметр в фрагменте для дальнейшей обработки.

Пытался таким способом, не получилось.

Java
1
2
 Bundle extras = getActivity().getIntent().getExtras();
 String key = extras.getString(JSON);
Bundle не принимает ничего если посылать.

UPD:

Мне нужно принять данные чтобы отправить на другую активность. Я из FragmentActivity хочу полчить параметр в Fragment в котором будет производиться интент на другую активность с этим праметром.

UPD2

Пытался с помощью setArgument() \ getArgument() тоже ошибку выдает

В активити пишу:

Java
1
2
3
4
Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
DetalsFragments fragobj = new DetalsFragments();
fragobj.setArguments(bundle);

В фрагменте:

Java
1
Log.v("", "" + getArguments().getString("edttext"));
И ничего…
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Принятие данных из Activity в Fragment (Программирование Android):

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

Fragment вместо Activity - Программирование Android
Использую фрагмент вместо Activity. Но теперь методы не запускаются с фрагментов. Как можно полностью реализовать во фрагменте всё то, что...

Callbeck from Activity to Fragment - Программирование Android
При нажатии кнопки в активити должен отрабатывал метод в фрагменте (допустим обновляться вюшка). Как реализовать калбек от активити к...

Использование Fragment в Activity - Программирование Android
Здравствуйте, делаю модуль для регистрации юзера, она прозодит в несколько этапов, сначала вводится номер, потом личные данные, потом...

Fragment не отображается на Activity - Программирование Android
Здравствуйте! Помогите, пожалуйста, разобраться. Суть такая: пользователь проходит упражнение по переводу слова на другой язык, т.е....

Переход из Fragment в Activity - Программирование Android
как реализовать переход из Fragment В activity в фрагменте кнопка при нажатии которой происходит переход в активити

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 01:21 #31
дебаг.кейстор нужен

Добавлено через 16 секунд
насколько я помню.

Добавлено через 1 минуту
кстати, попробуйте вместо
<fragment

<android.support.v4.app.Fragment

Добавлено через 4 минуты
но непонятно почему вы юзаете фрагменты с суппорт лайбрери если вы используете апи 14, они ведь есть с апи 11, вот и получился конфликт.

Добавлено через 44 секунды
хотя может я ошибаюсь и причина не в этом

Добавлено через 2 минуты
Цитата Сообщение от dajver Посмотреть сообщение
нету такого
должен быть.

Добавлено через 18 секунд
без него у меня не будет работать.
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 01:24  [ТС] #32
Цитата Сообщение от V0v1k Посмотреть сообщение
дебаг.кейстор нужен

Добавлено через 16 секунд
насколько я помню.

Добавлено через 1 минуту
кстати, попробуйте вместо
<fragment

<android.support.v4.app.Fragment

Добавлено через 4 минуты
но непонятно почему вы юзаете фрагменты с суппорт лайбрери если вы используете апи 14, они ведь есть с апи 11, вот и получился конфликт.

Добавлено через 44 секунды
хотя может я ошибаюсь и причина не в этом
И снова ничего не понятно) Получилось получить список друзей? Слева в колонке должен высветиться список друзей, а справа красный крестик и текствью в котором по клику по листвью показывается инфа про юзверя по клику по фотке отображается полная фотка. Так вот я не могу в ландскейпной ориентации передать параметр для скачивая большой картинки.
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 01:27 #33
Windows ->Preferences ->Android-> Build->Custom debug keystore

Добавлено через 1 минуту
или дефолтный, может у вас к дефолтному привязан.
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 01:28  [ТС] #34
Цитата Сообщение от V0v1k Посмотреть сообщение
Windows ->Preferences ->Android-> Build->Custom debug keystore

Добавлено через 1 минуту
или дефолтный, может у вас к дефолтному привязан.
http://dl.dropbox.com/u/61086119/debug.keystore
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 01:50 #35
что-то не помогло, белый экран.

Добавлено через 11 минут
в общем, при попытки authorize DialogListener не получает никаких калбеков. у меня подобное было при неправильном debug.keystore

Добавлено через 4 минуты
вот еще такие логи нашел

03-03 23:49:48.478: W/com.facebook.Session(18717): Should not pass a read permission (email) to a request for publish or manage authorization
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 01:51  [ТС] #36
http://dl.dropbox.com/u/61086119/customelistview.rar собрал вроде бы похожую ситуацию, посмотрите пожалуйста.

Добавлено через 52 секунды
Цитата Сообщение от V0v1k Посмотреть сообщение
Добавлено через 4 минуты
вот еще такие логи нашел

03-03 23:49:48.478: W/com.facebook.Session(18717): Should not pass a read permission (email) to a request for publish or manage authorization
возможно имейл не правильный или что то подобное
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 01:53 #37
где неправильный? я ничего не вводил, там сразу моя учетка высветлилась.
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 01:59  [ТС] #38
Цитата Сообщение от V0v1k Посмотреть сообщение
где неправильный? я ничего не вводил, там сразу моя учетка высветлилась.
А чего тогда не загружает? Должно вывести список друзей, я вот на планшете смотрю все нормально вродебы. Ввел пароль с имейлом и сразу загрузились все друзья
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 02:11 #39
Цитата Сообщение от dajver Посмотреть сообщение
А чего тогда не загружает?
думаю не тот кейстор дали.


Цитата Сообщение от dajver Посмотреть сообщение
http://dl.dropbox.com/u/61086119/customelistview.rar собрал вроде бы похожую ситуацию, посмотрите пожалуйста.
здесь вы пытаетесь выдать фрагмент за активити и я получаю екзепшен АктивитиНотФаунд
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 02:16  [ТС] #40
Цитата Сообщение от V0v1k Посмотреть сообщение
думаю не тот кейстор дали.



здесь вы пытаетесь выдать фрагмент за активити и я получаю екзепшен АктивитиНотФаунд
Перекачайте похоже я там напортачил, сейчас все работает
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 02:35 #41
перекачал, то же самое
Java
1
2
3
                        Intent intent = new Intent(getActivity().getApplicationContext(), DetailFragment.class);
            intent.putExtra("value", item);
            startActivity(intent);
заменил DetailFragment на DetailActivity и все заработало, никаких ошибок.

Добавлено через 9 минут
и в портретной ориентации тоже все работает.
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 11:59  [ТС] #42
Цитата Сообщение от V0v1k Посмотреть сообщение
перекачал, то же самое
Java
1
2
3
                        Intent intent = new Intent(getActivity().getApplicationContext(), DetailFragment.class);
            intent.putExtra("value", item);
            startActivity(intent);
заменил DetailFragment на DetailActivity и все заработало, никаких ошибок.

Добавлено через 9 минут
и в портретной ориентации тоже все работает.
Это в каком примере? В последнем или в том который с фейсбук сдк?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 12:18 #43
в последнем. или вы говорили перекачать тот где фейсбук сдк?
1
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
04.03.2013, 15:27  [ТС] #44
Цитата Сообщение от V0v1k Посмотреть сообщение
в последнем. или вы говорили перекачать тот где фейсбук сдк?
Последний. Ну измените в старом вызов не активности, а фрагмента, тогда все заработает. Я там написал комменты где и как передавать нужно.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class DetailActivity extends FragmentActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            finish();
            return;
        }
        setContentView(R.layout.details_activity_layout);
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            String s = extras.getString("value");
            // а вот теперь мне нужно передать в DetaliFragment "s" в котором хранится параметр
            TextView view = (TextView) findViewById(R.id.detailsText);
            view.setText(s);
        }
    }
}
Java
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
public class DetailFragment extends Fragment {
 
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
 
        super.onActivityCreated(savedInstanceState);
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
        View view = inflater.inflate(R.layout.details, container, false);
        return view;
    }
 
    public void setText(String item) {
 
        TextView view = (TextView) getView().findViewById(R.id.detailsText);
        view.setText(item);
        view.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
                // а тут я хочу распечатать то что принял с активности
            }
        });
    }
}
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 17:08 #45
Java
1
2
3
4
5
6
7
8
9
10
if (extras != null) {
            String s = extras.getString("value");
        
            DetailFragment fragment = (DetailFragment) getSupportFragmentManager().findFragmentById(
                    R.id.detailFragment);
            fragment.setText(s);
            
            //TextView view = (TextView) findViewById(R.id.detailsText);
            //view.setText(s);
        }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public void setText(final String item) {
 
        TextView view = (TextView) getView().findViewById(R.id.detailsText);
        view.setText(item);
        view.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
                Toast.makeText(getActivity(), item, Toast.LENGTH_SHORT).show();
            }
        });
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 17:08
Привет! Вот еще темы с ответами:

Передача параметров с Activity в Fragment - Программирование Android
Здравствуйте! У меня не получается передать параметры с Activity в Fragment. Я пытался сделать это следующим образом: В Activity: ...

Переход между fragment и activity - Программирование Android
Доброй ночи) возникла необходимость обратного перехода от активити во фрагмент, при этом ничего обратно передать не надо. То есть...

Fragment, Splash-activity, Jsoup onPostExecute - Программирование Android
Есть 2 фрагмента, собственно первый это сплеш-активити, перед запуском самого приложения: protected void onCreate(Bundle...

Взаимодействие Fragment-ов через Activity (interface) - Программирование Android
Ребята гляньте пожалуйста не замыленным глазом на код. Пытаюсь понять как организовать взаимодействие фрагментов с помощью активити...


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

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

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