不兼容的类型:无法转换为Context

时间:2017-05-20 18:27:16

标签: android android-7.1-nougat

我在尝试修改代码以处理(average-negative '()) ; ==> ?? 中的文档时遇到错误。

  

不兼容的类型:无法转换为上下文

这是我的代码

Android Nougat

documentViewHolder.preview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { File document = new File(Environment.getExternalStorageDirectory() + "/heyJudeDocuments/" + getItem(position).attachment_id); // -> filename = maven.pdf Uri path = FileProvider.getUriForFile(MessageAdapter.this,BuildConfig.APPLICATION_ID + ".provider",document); Intent docIntent = new Intent(Intent.ACTION_VIEW); docIntent.setDataAndType(path, getItem(position).mime); docIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); docIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 部分似乎是错误的。有人可以指出我出错的地方吗?

2 个答案:

答案 0 :(得分:3)

public class MessageAdapter extends BaseAdapter {
private Context context;

public MessageAdapter(Context context) {
    this.context = context;
}

在Uri中使用该上下文(而不是MessageAdapter.this)

 Uri path = FileProvider.getUriForFile(context ,BuildConfig.APPLICATION_ID + ".provider",document);

答案 1 :(得分:0)

ir不是$(document).ready(function(){ $('[data-toggle="popover"]').popover({ trigger: "hover", title:fetchData, html:true, placement:'right' }); function fetchData(){ var fetch_data = ''; var element = $(this); var id = element.attr("id"); $.ajax({ url:"includes/modDashboard/GetSummaryInfo.php", method:"POST", async:false, data:{id:id}, success:function(data){ fetch_data = data; } }); return fetch_data; } }); 的子类。通常,对于您正在做的事情(大概是开始一项活动),您可以访问您所在的MessageAdapter,这是Context在此处使用。