单击recyclelerView时打开文件(pdf,mp3,mp4,...)

时间:2016-05-29 09:11:45

标签: android android-recyclerview material-design

我有一个RecyclerView,显示app目录中存在的文件列表。现在,当用户单击特定行时,该文件将打开。

  

这是我的RecyclerView的屏幕截图:

enter image description here

  

这是我的适配器代码的viewHolder:

// ===========================  ViewHolder ==========================

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        private TextView txtTitle;
        private ImageView imgDelete;

        public ViewHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
            txtTitle = (TextView) itemView.findViewById(R.id.txt_file_title);
            imgDelete = (ImageView) itemView.findViewById(R.id.img_delete_row_show);
        }

        @Override
        public void onClick(View v) {
            Toast.makeText(v.getContext(), txtTitle.getText(), Toast.LENGTH_SHORT).show();
            //?????
        }
    }

2 个答案:

答案 0 :(得分:2)

这是这项工作的最佳解决方案,(Source

/usr/local/bin/
  

这是处理所有格式的Helper类:

ln -s /usr/local/rvm/rubies/ruby-2.3.0/bin/rake /usr/local/bin/

答案 1 :(得分:0)

您需要在onClick(View v)方法中使用以下代码

       //For pdf file
         file = new File ("/mnt/sdcard/test.pdf");
         Intent intent = new Intent(Intent.ACTION_VIEW);
         intent.setDataAndType(path, "application/pdf");
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         startActivity(intent);

     // for mp3 file

         file = new File ("/mnt/sdcard/test.mp3");
         Intent intent = new Intent(Intent.ACTION_VIEW);
         intent.setDataAndType(path,  "audio/*");
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
         startActivity(intent);

在文件对象中设置文件的路径,并将相应的MIME类型作为第二个参数放到intent.setDataAndType()方法中,然后你就可以了。