Приложение падает при передаче данных из активности во фрагмент - PullRequest
0 голосов
/ 25 декабря 2018

Я работал над передачей элемента повторного просмотра от действия к фрагменту, и я обнаружил, что Bundle полезен для этого, но в моем фрагменте, когда я пытаюсь получить данные, происходит сбой приложения, так как мне это исправить?

Это код моего файла активности для отправки данных

            Bundle bundle = new Bundle();
            bundle.putString("title", title.getText().toString());
            bundle.putString("description", 
            description.getText().toString());
            bundle.putString("date", date.getText().toString());

            UpdatesActivity updatesActivity = new UpdatesActivity();
            updatesActivity.setArguments(bundle);

Это мой фрагмент активности (с именем UpdatesActivity)

private List<Info> infoList = new ArrayList<>();
private InfoAdapter mAdapter;
private Button btnLogOut;
private FirebaseAuth firebaseAuth;
private String title, description, date;

public UpdatesActivity() {
    // Required empty public constructor
}

@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.fragment_updates, container, false);

    RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);

    title = getArguments().getString("title");
    description = getArguments().getString("description");
    date = getArguments().getString("date");

    mAdapter = new InfoAdapter(infoList);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
    recyclerView.setAdapter(mAdapter);

    return view;
    }
}

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

1 Ответ

0 голосов
/ 27 декабря 2018

вы можете использовать из этого метода

 private void loadFragment(Fragment fragment) {
        Bundle bundle = new Bundle();
        bundle.putString("title", title.getText().toString());
        bundle.putString("description",
                description.getText().toString());
        bundle.putString("date", date.getText().toString());
        fragment.setArguments(bundle);
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fm.beginTransaction();
        fragmentTransaction.replace(R.id.fragmentContainer, fragment);
        fragmentTransaction.commit(); // save the changes

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...