如何在android中创建DropBox等文件夹列表?

时间:2016-02-14 17:12:38

标签: java android listview android-activity fragment

我想在android中的listview中显示文件夹,但我必须构建一些非静态预制的片段,因为我不知道文件夹树将如何。我想创建像dropbox这样的东西。当文件夹内容更改时,它们如何显示文件夹内容列表。如何在运行时使用列表视图生成这些片段?

1 个答案:

答案 0 :(得分:0)

显然,并非所有应用内容都必须是静态的。在Android上,实现“DropBox文件夹内容”类型表示的一种方法是使用ListView。

基本上,您需要做的是创建ListView实例(通过将其添加到您的布局或以编程方式添加到ViewGroup)并为其设置有效的适配器。

适配器负责处理“可更改”的数据。

可以在Using lists in Android (ListView) - Tutorial

找到一个很好的综合教程

编辑:

要在运行时创建片段,在收到onItemClick事件后,请尝试以下方法:

  1. 创建一个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" />;
    
  2. 创建一个类似于此的方法:

    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();
    }
    
  3. 在onCreate()中调用此方法,并在必须显示新片段时