我有一个常量,它决定了设备的存储路径。
File STORG_PTH = new File (Environment.getExternalStorageDirectory(), "/");
用户可以通过在 editText 中输入来确定自己的下载目录。
如果它是有效路径,它会使用以下代码进行检查,但是如果用户输入更多斜线(/),例如“/storage/emulated/0//just/to///see”,我该如何避免?
提前谢谢你。
File TEST = Constants.STORG_PTH;
String STORAGEPTH = TEST.toString();
String Test = "/storage/emulated/0/justatest/to/see";
if (Test.startsWith(STORAGEPTH)) {
Log.d("STORAGE PATH: ", STORAGEPTH + " IS VALID!");
}
else{
Log.d("STORAGE PATH: ", STORAGEPTH + " IS INVALID!");
}
最佳答案
您可以使用 InputFilter
来阻止特定字符,如下所示:
InputFilter filter = new InputFilter() {
String blockCharacter = "/";
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source != null && blockCharacter.contains(("" + source))) {
return "";
}
return null;
}
};
然后:
EditText e = (EditText)findViewById(R.id.editText1);
e.setFilters(new InputFilter[] { filter });
关于android - 避免无效的目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27638085/