我的SD卡中有很多视频位于以下位置......“sdcard / new folder / * *。mp4”。现在我想用这些视频的名称填充列表视图。每次视频的数量都会有所不同。没有固定数量的视频。因此,将名称保存在“values”文件夹中对我没有任何好处。我的代码如下......
public class Main extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
和main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
我不知道如何使用视频名称填充列表视图。请帮忙。
答案 0 :(得分:0)
您应该使用sqlite database
来存储文件名,这样您就可以随时获得count
。那么它更容易吗?
答案 1 :(得分:0)
您应该将视频存储到SD卡中,但可以将文件路径保存到sqlite数据库中。然后从SD卡读取文件路径和视频,并在列表视图中显示。
//get the path of the sdcard and enter all the files to an array file
File[] file = Environment.getExternalStorageDirectory().listFiles();
或强>
File dir = new File(Environment.getExternalStorageDirectory() + "/YourFolder");
File[] fileslist = dir.listFiles();
for(File file:fileslist ){
videoList.add(file.getPath());
}
答案 2 :(得分:0)
您应该将这部分代码调整到您的应用
public class MainActivity extends Activity {
private List<String> myList;
File file;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//List code
ListView listView = (ListView) findViewById(R.id.mylist);
myList = new ArrayList<String>();
File directory = Environment.getExternalStorageDirectory();
file = new File( directory + "/videos" );
File list[] = file.listFiles(new FilenameFilter() {
public boolean accept(File dir, String filename) {
// TODO Auto-generated method stub
if(filename.contains(".mp4")){
return true;
}
return false;
}
});
for( int i=0; i< list.length; i++)
{
myList.add( list[i].getName() );
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, myList);
listView.setAdapter(adapter); //Set all the file in the list.
}
}