【发布时间】:2013-08-12 17:44:40
【问题描述】:
提前感谢您的帮助,
我正在尝试获取主要活动的列表视图以显示文件夹中文件的名称,尽管在此处和教程上进行了研究,但我只是无法工作,我不知道为什么。
这是 listview 行 textview 的 row.xml:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:textColor="@color/black"
android:paddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight"
/>
这里是 main_activity.java:
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView1 = (ListView) findViewById(R.id.actions);
File directory = new File(extStorageDirectory
+ "/Android/data/com.tobin.backup");
String[] filenames = directory.list();
if (filenames == null){
}
else{
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, filenames);
listView1.setAdapter(adapter);
}
我不知道是什么问题,谢谢你的帮助!
编辑:这是主要的活动布局:http://pastebin.com/cTkwRCNQ
【问题讨论】:
-
尝试
Environment.getExternalStorageDirectory().getAbsolutePath();作为您的extStorageDirectory变量。 -
@Squonk 刚刚做了,但还是不行:(
-
首先,您的清单中有外部存储权限吗?获取根目录的更好方法是 File directory = new File(Environment.getExternalStorageDirectory(), "/Android/data/com.tobin.backup");这将获得一个相对于目录的文件对象作为第一个参数。
-
@GabeSechan 还是一无所有 :(
-
你确定这行“String[] filenames = directory.list();”实际上返回一个长度 > 0 的数组?
标签: java android arrays listview android-studio