如何将来自不同位置的两个条目显示在Android的ListView中。

huangapple 未分类评论42阅读模式
英文:

How to display two entries from different places into ListView in Android

问题

需要在列表中列出位于不同位置的文件但第二个对象总是覆盖第一个对象我愿意提供帮助

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

    File root = new File(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera");
    ListDir(root);
    
    File root1 = new File(Environment.getExternalStorageDirectory().toString() + "/Download" );
    ListDir(root1);
}

void ListDir(File f)
{
    File[] files = f.listFiles();
    fileList.clear();
    for (File file: files)
    {
        fileList.add(file.getName());
    }
    ArrayAdapter<String> dir = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, fileList);
    setListAdapter(dir);
}
英文:

I need to list files that are in different locations in the list but the second object always destroys the first object, I would love to help

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

        File root = new File(Environment.getExternalStorageDirectory().toString() + &quot;/DCIM/Camera&quot;);
        ListDir(root);
        
        File root1 = new File(Environment.getExternalStorageDirectory().toString() + &quot;/Download&quot; );
        ListDir(root1);
    }
    
    void ListDir(File f)
    {
        File[] files = f.listFiles();
        fileList.clear();
        for (File file: files)
        {
            fileList.add(file.getName());
        }
        ArrayAdapter&lt;String&gt; dir = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_activated_1,fileList);
        setListAdapter(dir);
    }

答案1

得分: 0

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

        ArrayList<File> roots = new ArrayList<>();

        File root = new File(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera");
        roots.add(root);

        File root1 = new File(Environment.getExternalStorageDirectory().toString() + "/Download" );
        roots.add(root1);

        //After you've added as many directories as you need
        ListDir(roots);
    }

    void ListDir(ArrayList<File> root_direcs)
    {
        fileList.clear();
        for(File root : root_direcs){
            fileList.addAll(Arrays.asList(root.listFiles()));
        }

        ArrayAdapter<String> dir = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1,fileList);
        setListAdapter(dir);
    }
英文:

Example as requested

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

        ArrayList&lt;File&gt; roots = new ArrayList&lt;&gt;();

        File root = new File(Environment.getExternalStorageDirectory().toString() + &quot;/DCIM/Camera&quot;);
        roots.add(root);

        File root1 = new File(Environment.getExternalStorageDirectory().toString() + &quot;/Download&quot; );
        roots.add(root1);

        //After you&#39;ve added as many directories as you need
        ListDir(roots);
    }

    void ListDir(ArrayList&lt;File&gt; root_direcs)
    {
        fileList.clear();
        for(File root : root_direcs){
            fileList.addAll(Arrays.asList(root.listFiles()));
        }

        ArrayAdapter&lt;String&gt; dir = new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_activated_1,fileList);
        setListAdapter(dir);
    }

huangapple
  • 本文由 发表于 2020年4月4日 23:45:01
  • 转载请务必保留本文链接:https://java.coder-hub.com/61030608.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定