我在SD card上的特定目录中有一些音频文件。我需要在Android的列表视图中显示他们的名字,如果我想播放或删除该特定文件,我可以通过该列表视图来执行此操作吗?我该怎么做?
public class MyPerformanceArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MyPerformanceArrayAdapter(Context context, String[] values) {
super(context, R.layout.main, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.main, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
textView.setText(values[position]);
// Change the icon for Windows and iPhone
String s = values[position];
if (s.startsWith("Windows7") || s.startsWith("iPhone")
|| s.startsWith("Solaris")) {
//imageView.setImageResource(R.drawable.no);
} else {
//imageView.setImageResource(R.drawable.ok);
}
return rowView;
}
}
public class SimpleListActivity extends ListActivity {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
MyPerformanceArrayAdapter adapter = new MyPerformanceArrayAdapter(this, values);
setListAdapter(adapter);
}
}
这段代码是一个简单的列表视图。我需要从一个特定的目录中获取它们的名称到适配器类。我该怎么做?
如果我对该特定文件做了任何更改,这些更改应该反映在列表视图中。
4条答案
按热度按时间l5tcr1uw1#
gr8qqesn2#
你可以检查使用下面的代码来显示一个ll音频文件在listView和点击任何一个你玩它。
}
p3rjfoxz3#
我假设您可以正确显示列表中的这些文件。
接下来,创建菜单显示打开和删除:
然后,收听onContextItemSelected的菜单按键:
最后,要真实的监视目录,您应该实现FileObserver。
http://developer.android.com/reference/android/os/FileObserver.html
q3aa05254#
在您的文件所在的目录上使用
java.io.File
对象:如果你只需要其中的一部分,你甚至可以使用一个过滤器: