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

415
19 марта 2017, 04:07

Нужно передать строковую переменную из Activity в фрагмент находящийся в этом Activity.

Делаю так в Activity:

    android.support.v4.app.Fragment mainInfoFragment = new MainInfoFragment();
    TOKEN = getId.getStringExtra("TOKEN");
    Bundle bundle = new Bundle();
    bundle.putString("tokenUser", TOKEN);
    mainInfoFragment.setArguments(bundle);

В фрагменте:

Bundle bundle = this.getArguments();
    String TOKEN1 = "test";
    if (bundle != null) {
        TOKEN1 = bundle.getString("tokenUser","null");
    }

Но в итоге bundle оказывается пуст, и ничего не работает, как решить? Заранее спасибо

Answer 1
public class MainInfoFragment extends Fragment {
    private static final String ARG_TOKEN_USER = "token_user";
    public static MainInfoFragment newInstance(String tokenUser) {
        Bundle args = new Bundle();
        args.putString(ARG_TOKEN_USER, tokenUser);
        MainInfoFragment fragment = new MainInfoFragment();
        fragment.setArguments(args);
        return fragment;
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String tokenUser = getArguments().getString(ARG_TOKEN_USER);
        ...
    }
}
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
        FragmentManager fm = getSupportFragmentManager();
        Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
        if (fragment == null) {
            fragment = createFragment();
            fragment = MainInfoFragment.newInstance(TOKEN);
            fm.beginTransaction()
                    .add(R.id.fragmentContainer, fragment)
                    .commit();
        }
        ...
    }
}
READ ALSO
Проверка кода на code convention

Проверка кода на code convention

Есть какие-нибудь утилиты для проверки кода на:

281
Callback API Java SDK VK

Callback API Java SDK VK

Заметил в документации ВК к Java SDK следующие строчки:

508
как распарсить этот JSON

как распарсить этот JSON

помогите это распарсить пожалуйста вроде все правильно делаю

265
Загрузка файла на сервер в фоновом режиме с возможность дозагрузки

Загрузка файла на сервер в фоновом режиме с возможность дозагрузки

Привет, подскажите как можно осуществить загрузку файла в фоновом режиме, то есть пользователь может выбрать файлы нажать загрузить и переходить...

294