我有pdf文件放在assets子文件夹中。我以列表视图的形式显示pdf文件。当点击任何列表项时,它显示错误," Pdf无法显示,路径错误"。如何设置资产中子文件夹的路径? ??
提前致谢!
这是我的课程。请检查下面的代码
public class PdfViewInformation extends Activity{
ListView pdflist;
String itemValue;
String valueinfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pdfviewinfo);
AssetManager asset = getAssets();
try {
final String[] arrdata = asset.list("pdffolder");
List<String> pdflist = new ArrayList<String>();
int size = arrdata.length;
for(int i = 0;i<size;i++)
{
if(arrdata[i].contains(".pdf"))
{
pdflist.add(arrdata[i]);
}
}
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,pdflist);
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
valueinfo = (String)parent.getItemAtPosition(position);
File file = new File("android.resource://com.example.timesampleexp/assets/pdffolder/"+valueinfo);
Log.i("jduhsr", ""+file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:0)
<?php
您必须在文件路径中插入您正在使用的子文件夹名称和文件名。如果您想查看pdf文件,您可以像我上面提到的那样使用已安装的pdf阅读器,如adobe reader.otherwise you可以使用pdf.js这样的库
在您自己的应用程序中加载pdf文件