Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/54: Рейтинг темы: голосов - 54, средняя оценка - 4.94
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
1

Принятие данных из Activity в Fragment

03.03.2013, 20:00. Просмотров 10004. Ответов 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
Есть основной класс (puplic class ViewContact) в котором есть фрагменты...

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

Fragment вместо Activity
Использую фрагмент вместо Activity. Но теперь методы не запускаются с...

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

Переход с fragment на activity
в проекте 3 фрагмента, в фрагменте есть кнопка, если нажать эту кнопку тебя...

46
V0v1k
1160 / 984 / 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
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
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
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 12:18 43
в последнем. или вы говорили перекачать тот где фейсбук сдк?
1
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
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
1160 / 984 / 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
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
04.03.2013, 17:22  [ТС] 46
Спасибо огромное все получилось!
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
04.03.2013, 18:21 47
V0v1k,ох какой тред захерачили, у тебя много времени свободного завидую.
1
04.03.2013, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2013, 18:21

Callbeck from Activity to Fragment
При нажатии кнопки в активити должен отрабатывал метод в фрагменте (допустим...

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

Передача параметров с Activity в Fragment
Здравствуйте! У меня не получается передать параметры с Activity в Fragment....


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

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Опции темы

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