可能是由于Android 12的安全策略更新导致了该问题。解决方法如下:
首先,在AndroidManifest.xml文件中添加以下权限:
然后,使用以下代码检查权限是否被授予:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
//未获得存储权限时,向用户请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, requestCode);
}
最后,确保在EditText视图中启用了自动完成功能,并且使用了File对象作为数据源:
String[] files = file.list();
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_dropdown_item_1line, files);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
textView.setAdapter(adapter);
这样,文件自动补全功能应该可以正常工作了。