我有一个RecyclerView,显示app目录中存在的文件列表。现在,当用户单击特定行时,该文件将打开。
这是我的RecyclerView的屏幕截图:
这是我的适配器代码的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();
//?????
}
}
答案 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()方法中,然后你就可以了。