Я пытаюсь передать аргументы от моей деятельности к фрагменту, и я использую этот код:Попадая аргументы из пучка
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
String message = getIntent().getStringExtra(Intent.EXTRA_TEXT);
DetailActivityFragment fragment = new DetailActivityFragment();
Bundle bundle = new Bundle();
bundle.putString(INTENT_EXTRA, message);
fragment.setArguments(bundle);
}
Я получаю значение переменного сообщения через Intent Extra и это прекрасно работает.
Затем я передаю его как аргумент моему фрагменту, но затем, когда я вызываю из этого конкретного фрагмента, он возвращает нулевой пакет.
У кого-нибудь есть решение?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getArguments();
if (bundle != null && bundle.containsKey(DetailActivity.INTENT_EXTRA)) {
forecast = bundle.getString(DetailActivity.INTENT_EXTRA);
} else if (bundle == null) {
Toast.makeText(getActivity(), "Error", Toast.LENGTH_LONG).show();
}
}
Верхний метод выводит сообщение Toast "Error", когда я запустить приложение ...
где FragmentTransaction? Вы объявили Фрагмент в манифесте? – Blackbelt
Вы создаете другой экземпляр DetailActivityFragment где-то (без аргументов) ... и вместо этого используете его – Selvin
** Которая ** - ошибка, которую вы получаете? Можете ли вы разместить свой ** логарифм **, пожалуйста? Используете ли вы какую-либо ** транзакцию **? вы можете ** показать нам ** нам? –