将现有字符串与 Environment.getExternalStorageDirectory().getPath()



我目前正在编写一个使用文件夹导航的安卓应用程序。我让用户从

String rootPath = Environment.getExternalStorageDirectory().getPath()

还有一个 currentPath 字符串,用于跟踪用户当前所在的目录。

用户可以在子文件夹中很好地导航,然后导航回根文件夹。

但是,程序似乎继续尝试在初始 rootPath 字符串下方导航,这意味着我的 if 语句if(currentPath != rootPath) {似乎根本不起作用。我该如何解决这个问题?

我现在让程序工作只是因为我在此 if 语句之后有一个 try catch 代码块,该块未正确跳闸。

另外,我已经设置了 Logcat 消息来显示当前目录是什么,它显然与程序初始化时相同,那么为什么它不等于程序初始化时创建的 rootPath 字符串?

不要使用

if(currentPath != rootPath) {

以比较字符串。

您必须使用等于:

if( ! currentPath.equals(rootPath)) {

!= 运算符比较字符串对象的地址。 等于方法比较字符串的内容...

见 https://www.leepoint.net/data/expressions/22compareobjects.html

相关内容

  • 没有找到相关文章

最新更新