Как передать строковое значение между двумя фрагментами? - PullRequest
0 голосов
/ 20 февраля 2012

Я разрабатываю приложение, которое состоит из трех Fragment под одним Activity:

1.Фрагмент (1) состоит из текстовых представлений.
2. Фрагмент (2) состоит из текста редактирования.

Вот моя проблема:

Когда во фрагменте (1) выбрано TextView, это значение TextView должно быть передано в EditText, присутствующий во фрагменте (2).

public class OrdersActivity extends Activity {

    private Bundle bundle;
    private ArrayList<String> eList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.orders);

        bundle = new Bundle();
        bundle.putStringArrayList("elist", eList);


        FragmentTransaction order = getFragmentManager().beginTransaction();
        OrdersList orderList = new OrdersList();
        orderList.setArguments(bundle);
        order.add(R.id.frmOrderlist, orderList);
        order.commit();

        FragmentTransaction input = getFragmentManager().beginTransaction();
        InputEdit inputEdit = new InputEdit();
        input.add(R.id.frmOrderinput, inputEdit);
        input.commit();

        FragmentTransaction quoteorder = getFragmentManager().beginTransaction();
        QuoteFragment quotefragment = new QuoteFragment();
        quoteorder.add(R.id.frmSecondList, quotefragment);
        quoteorder.commit();


        FragmentTransaction quotechart = getFragmentManager().beginTransaction();
        ChartOrderFragment chartquote = new ChartOrderFragment();
        quotechart.add(R.id.frmOrderChart, chartquote);
        quotechart.commit();

    }

1 Ответ

0 голосов
/ 20 февраля 2012

Хорошим подходом является использование Activity в качестве диспетчера для передачи фрагментов друг другу.

  1. Создайте пользовательский слушатель во Fragment1. Вызвать метод слушателя, если текстовое представление выделено во фрагменте.
  2. Создайте метод, подобный setCustomtext в Fragment2, для обновления текста.
  3. Внутри деятельности создайте реализацию слушателя и зарегистрируйте ее во Fragment1. Этот слушатель будет вызываться при изменении текста и при вызове метода setCustomtext во Fragment2.

Пожалуйста, смотрите следующую ссылку Общение с деятельностью

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