从listview中查看存储在assets文件夹中的pdf单击片段

时间:2014-02-22 21:49:42

标签: android listview pdf android-fragments

我创建了一个ListView,我希望每个项目都能打开位于我的Android应用中的assets/PDFS文件夹中的某个.pdf文件。以下代码不会抛出任何错误,但也不会打开文件。有人可以分享解决方案的想法吗?

请注意,我正在使用Fragment

public class FreshFragment extends Fragment implements OnItemClickListener {

    ListView lv;
    String[] titles;

    public FreshFragment() {

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View V = inflater.inflate(R.layout.fragment_fresh, container, false);


        lv = (ListView)V.findViewById(android.R.id.list);
        lv.setOnItemClickListener(this);

        return V;
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        switch (position) {
        case 0:
            File pdfFile = new File("res/assets/peedee.pdf");
            Uri path = Uri.fromFile(pdfFile);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(path, "application/pdf");
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            break;

        }
    }
}

1 个答案:

答案 0 :(得分:0)

您无法在其他应用中的资源中打开文件。您需要将它写入磁盘,两个应用程序都可以先读取它,例如外部存储。