我想在android中的listview中显示文件夹,但我必须构建一些非静态预制的片段,因为我不知道文件夹树将如何。我想创建像dropbox这样的东西。当文件夹内容更改时,它们如何显示文件夹内容列表。如何在运行时使用列表视图生成这些片段?
答案 0 :(得分:0)
显然,并非所有应用内容都必须是静态的。在Android上,实现“DropBox文件夹内容”类型表示的一种方法是使用ListView。
基本上,您需要做的是创建ListView实例(通过将其添加到您的布局或以编程方式添加到ViewGroup)并为其设置有效的适配器。
适配器负责处理“可更改”的数据。
可以在Using lists in Android (ListView) - Tutorial
找到一个很好的综合教程编辑:
要在运行时创建片段,在收到onItemClick事件后,请尝试以下方法:
创建一个Activity并将此View包含在其布局中:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
android:theme="@style/Style" />;
创建一个类似于此的方法:
instantiateNewFolder(NewFolderDescriptor descriptor){
FragmentManager fragmentManager = getSupportFragmentManager(); // or getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.abc_fade_in, R.anim.abc_fade_out);
fragmentTransaction.replace(R.id.fragment_container, NewFolderFragment.instantiateNew(descriptor));
fragmentTransaction.commit();
}
在onCreate()中调用此方法,并在必须显示新片段时