如何在两个片段之间传递字符串值?

时间:2012-02-20 12:14:17

标签: android android-fragments

我正在开发一个由Fragment下的三个Activity组成的应用程序:

1.Fragment(1)由Text-views组成 2.Fragment(2)由编辑文本组成。

这是我的问题:

在片段(1)中选择TextView时,应将TextView值传递给片段(2)中的EditText

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 :(得分:0)

好的方法是使用Activity作为调度程序来相互传递碎片。

  1. 在Fragment1中创建自定义侦听器。如果在片段中选择了文本视图,则调用侦听器的方法。
  2. 在Fragment2中创建类似 setCustomtext 的方法来更新文本。
  3. 内部活动创建一个侦听器实现并在Fragment1中注册它。更改文本时将调用此侦听器,并在Fragment2中调用 setCustomtext 方法。
  4. 请参阅以下链接Communicating with the Activity