1

У меня есть действие, которое вызывает веб-службу, и я хочу передать этот результат фрагменту. Очевидно, что веб-служба вызывается AsyncTask, поэтому фрагмент загружается до получения результата.Пропустить параметр из активности в фрагмент

Как передать этот параметр из AsyncTask активности в фрагмент при получении?

ответ

0

Вы можете переместить AsyncTask во фрагмент.

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

Так что код вида деятельности может выглядеть следующим образом:

MyFragment fragment = new MyFragment(); 
getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit(); 

и тогда вы могли бы назвать:

fragment.updateData(myNewData); 

Просто убедитесь, чтобы сделать соответствующие нулевые чеки, просто чтобы быть в безопасности.

1

Установить пучок в вашем фрагменте.

Bundle args = new Bundle(); 
args.putInt("id",value);  
Fragment newFragment = new Fragment(); 
newFragment.setArguments(args); 

В вашем фрагменте получить пакет как

Bundle b = getArguments(); 
String s = b.getInt("id");