如何从OnClickListener调用Fragment

时间:2014-01-22 14:04:01

标签: android android-fragments

我在Fragment工作。我想从onClickListener调用一个片段。     我怎样才能做到这一点?这是我的代码。从else部分我必须调用一个片段..如何做到这一点?

  chartView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SeriesSelection seriesSelection = chartView
                        .getCurrentSeriesAndPoint();

                if (seriesSelection == null) {
                    Toast.makeText(getActivity().getApplicationContext(),
                            "No chart element was clicked",
                            Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(
                            getActivity().getApplicationContext(),
                            "Chart element data point index "
                                    + (seriesSelection.getPointIndex() + 1)
                                    + " was clicked" + " point value="
                                    + seriesSelection.getValue(),
                            Toast.LENGTH_SHORT).show();


                }
            }
        });

2 个答案:

答案 0 :(得分:3)

有很多方法可以替换碎片。 但我按照下面的方式:

创建addFragmentMethod(),如下所示

 public void addFragments(Fragment fragment) {
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction ft = manager.beginTransaction();
    ft.replace(android.R.id.tabcontent, fragment);
    ft.commit();
}

现在覆盖onAttach(),就像这样

@Override
public void onAttach(Activity activity) {
    this.activity = (YourActivity) activity;
    myDetail = this.activity.myDetail;
    super.onAttach(activity);
    }

现在只需致电

activity.addFragments(fragment);

答案 1 :(得分:0)

我认为你想要的是在另一个已经添加的片段中调用一个方法。这是通过两个片段共享的活动完成的。这里有一个指南:http://developer.android.com/training/basics/fragments/communicating.html