Нужно передать строковую переменную из 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 оказывается пуст, и ничего не работает, как решить? Заранее спасибо
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();
}
...
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет, подскажите как можно осуществить загрузку файла в фоновом режиме, то есть пользователь может выбрать файлы нажать загрузить и переходить...