gpt4 book ai didi

android - 如何在单击按钮时显示/隐藏 fragment

转载 作者:行者123 更新时间:2023-11-29 20:53:47 27 4
gpt4 key购买 nike

我有 2 个 Fragments - ButtonFragmentListViewFragment - 在我的 Activity MainActivity.

ButtonFragment 包含一个ButtonListViewFragment 包含一个ListView

每次我点击 ButtonFragment Button 我都希望 ListViewFragment 显示/隐藏。

如何正确编码?

目前我的代码是这样的:

主 Activity .java

public class MainActivity extends Activity implements Communicator {

ButtonFragment buttonFrag;
ListViewFragment listviewFrag;

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

buttonFrag= new ButtonFragment();
listviewFrag = new ListViewFragment();

manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.button_fragment, buttonFrag, "Fragment1");
transaction.add(R.id.listview_fragment, listviewFrag, "Fragment2");
transaction.commit();
}

}

按钮 fragment .java

public class DynamicButtonsFragment extends Fragment implements View.OnClickListener {

Button btn;

@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.button_fragment_layout, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}

@Override
public void onClick(View v) {
//?? hide listview fragment from here ??
}

}

ListViewFragment.java

public class ListViewFragment1 extends Fragment {

protected ArrayAdapter<String> adapter1;

@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

return inflater.inflate(R.layout.list_view_fragment, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);

}

}

所以我的问题是我在哪里实现ListViewFragment的显示/隐藏?我觉得我应该通过 ButtonFragmentonClick 方法向 MainActivity 发送数据。但我不知道该怎么做。

或者我是否只在 MainActivity 中添加代码,因为 MainActivity 可以访问所有 Fragments

我遇到了麻烦,因为 ButtonFragment 中,而不是 MainActivity 的一部分。我真的没见过这样的案例......

有人可以帮忙吗?

最佳答案

您不能直接显示/隐藏 fragment 。您可以显示/隐藏 UI 对象,如 Listview。如果愿意,您可以通过使用 FragmentTransaction间接显示/隐藏 Fragment,并且可以调用其方法添加、删除或替换。示例代码的链接是 Fragments

关于android - 如何在单击按钮时显示/隐藏 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28337932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com