0

嗨,我是 android 中这个片段开发的新手。我的问题是片段之间的导航。我在片段 1 中有一个按钮,在片段 2 中有一个文本视图,我有活动 activity1,我在 xml 中声明了这两个片段。我的问题是当我按下fragment1中的按钮时,它必须携带一些文本并在fragment2的textview中显示,然后它必须检查fragment2是否处于相同的布局中?

代码对我很有帮助。提前致谢..........

4

1 回答 1

0

首先将您的充气机声明为 onCreateView(在 2ndFragmentClass 中),如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_content, container, false);

    return view;
}

请考虑 fragment_content 必须至少在其内部有一个 TextView(以便我们在片段内设置它的值)。然后我们必须从第一个片段更改此文本的值。所以我们在我们的第二个片段(包含 TextView 的片段)中添加这个构造函数,如下所示:

public void setText(String name) {
    TextView txt= (TextView ) getView().findViewById(R.id.textView1);
    txt.setNewText(name);
  }

简而言之,它将如下所示:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_content, container, false);

    return view;
}
public void setText(String name) {
    TextView txt= (TextView ) getView().findViewById(R.id.textView1);
    txt.setNewText(name);
  }

然后我们必须定义哪些文本必须从 1stFragmentClass 设置到 2nd Fragment。然后我们通过按下第一个片段中的按钮来设置第二个片段的文本,如下所示:

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
    String url = "Hello, This is the text from 1st Fragment:)";
         //Here we try to declare 2nd fragment.
    2ndFragmentClass fragment = (2ndFragmentClass) getFragmentManager()
            .findFragmentById(R.id.detailFragment);
        fragment.setNewText(url);
}
于 2012-12-01T19:18:32.877 回答