gpt4 book ai didi

java - 哪个选项最容易填充我的 ListView ?

转载 作者:行者123 更新时间:2023-12-01 14:15:50 25 4
gpt4 key购买 nike

我目前正在开发一个应用程序,可以录制声音并将其保存为 *.mp3 文件。用户完成声音录制后,系统会要求他重命名。用户完成重命名后,该文件将被保存到手机上的某个位置,名称为whateverTheUserTypedHere.mp3。

我目前在应用程序中实现的内容:

一旦用户设置了文件名,文件名就会被带到第二个 Activity (名为“filename”的变量)。这是制作 ListView 的代码:

//global variables
ListView listView;
ArrayAdapter<String> listAdapter;
ArrayList<String> fileNames = new ArrayList<String>();

//this is inside onCreate
listView = (ListView) findViewById (R.id.mainListView);
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, fileNames);

//this is inside the method that is called everytime file is recorded
public void setFileName(final Editable filename) {
Log.d("2", "Set filename from first activity " + filename);

fileNames.add(filename.toString());
listView.setAdapter(listAdapter);

所以这一切现在都正常了。每次记录和重命名文件时,它都会立即添加到第二个 Activity 中的 listView 中。但这段代码有一个巨大的缺陷——listview的状态没有保存,所以每次我关闭应用程序并重新打开它时,录制的文件仍然存在于手机的存储中,但listview却找不到。所以我需要做的是实现一些东西,每次更改时都会保存 ListView 的状态。

我认为我能做什么:

我在想更简单的方法是别的。我基本上可以在每次打开 Activity 时构建一个新的 listView,而不是在记录时向 listView 添加元素,然后保存 listview 的状态。我可以实现一种方法来读取手机上的特定目录并且仅读取 *.mp3 文件。这样,每次打开 listview Activity 时,都会根据特定目录中的文件自动“生成”listView。

我的要求:

我是 Android 编程新手,我只做了 2-3 个月。如果人们能给我一些关于我应该做什么的指示,我将不胜感激。我是否应该保留当前实现的在记录文件后立即添加 listView 行的方法?如果是这样,我将如何保存它的状态/如何保存它添加的行?或者实现一种从某个目录读取文件然后在每次打开 Activity 时生成 ListView 的方法会更容易吗?如果是这样,我真的很感激一些关于如何做到这一点的指示,因为我以前从未做过类似的事情。

谢谢!

最佳答案

如果每次打开应用程序时都必须扫描整个存储上的所有 .mp3 文件,则需要相当长的时间。即使仅限于特定文件夹,最好自己存储一个包含 ListView 的文件。该文件必须存储在您自己的应用程序的范围内,并且必须始终存储在同一位置。如果它不存在,那么您就知道用户是第一次打开您的应用程序。

如果您想要有关 java BufferedWriter 的快速指南,可以在这里找到:http://www.mkyong.com/java/how-to-write-to-file-in-java-bufferedwriter-example/

关于java - 哪个选项最容易填充我的 ListView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18114297/

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