本文出自:http://www.androidkaifa.com/thread-234-1-1.html
上一篇文章我们已经介绍了如何从网络中下载一个PDF文件,这篇文章www.androidkaifa.com将为大家示例如何列出SDcard中的所有PDF文件并查阅这些PDF文件,因为代码很简单,就一个布局文件加一个主activity类,对于代码这里就不多做解释了,如有看不懂的,请留言,下面还是直接上代码:
main.xml
android
rientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="fill_parent" android:drawSelectorOnTop="false" />
PDFListActivity.java
public class PDFListActivity extends ListActivity {
ArrayAdapter adapter;
int clickCounter=0;
ArrayList listItems=new ArrayList();
private File[] imagelist;
String[] pdflist;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File images = Environment.getExternalStorageDirectory();
imagelist = images.listFiles(new FilenameFilter(){
public boolean accept(File dir, String name)
{
return ((name.endsWith(".pdf")));
}
});
pdflist = new String[imagelist.length];
for(int i = 0;i
{
pdflist= imagelist.getName(); } this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, pdflist)); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); PackageManager packageManager = getPackageManager(); Intent testIntent = new Intent(Intent.ACTION_VIEW); testIntent.setType("application/pdf"); List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY); if (list.size() > 0 && imagelist[(int) id].isFile()) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = Uri.fromFile(imagelist[(int) id].getAbsoluteFile()); intent.setDataAndType(uri, "application/pdf"); startActivity(intent); } } }