Я намерен запустить вкладку Chrome Custom
из RecyclerView
следующим образом:
public CustomAdapter(Context context, List<Artifact> ListOfArtifacts) {
this.context = context;
this.ListOfArtifacts = ListOfArtifacts;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
holder.artifactAuthor.setText(ListOfArtifacts.get(position).getAuthor());
holder.artifactTitle.setText(ListOfArtifacts.get(position).getTitle());
holder.seeders.setText(String.valueOf(ListOfArtifacts.get(position).getSeeders()));
holder.leechers.setText(String.valueOf(ListOfArtifacts.get(position).getLeechers()));
holder.addedOn.setText(df.format(ListOfArtifacts.get(position).getAdded_on()));
holder.artifactTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
/*Intent launchArtifactAuthor = new Intent(Intent.parseUri(ListOfArtifacts.get(position).getURL(), Intent.URI_INTENT_SCHEME));
context.startActivity(launchArtifactAuthor);*/
CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder();
// Begin customizing
// set toolbar colors
intentBuilder.setToolbarColor(ContextCompat.getColor(context, R.color.colorPrimary));
intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(context, R.color.colorPrimaryDark));
// set start and exit animations
intentBuilder.setStartAnimations(context, android.R.anim.slide_out_right, android.R.anim.fade_in);
intentBuilder.setExitAnimations(context, android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
// build custom tabs intent
CustomTabsIntent customTabsIntent = intentBuilder.build();
customTabsIntent.launchUrl((Activity) context, Uri.parse(ListOfArtifacts.get(position).getURL()));
}catch (Exception e) {
e.printStackTrace();
}
}
});
}
Поскольку сигнатура метода customTabsIntent.launchUrl
требует, чтобы первым параметром был Activity
, я привожу контекст в действие, поэтому
java.lang.ClassCastException: android.app.Application не может быть преобразован в android.app.Activity
на линии customTabsIntent.launchUrl((Activity) context, Uri.parse(ListOfArtifacts.get(position).getURL()));
Как это исправить ?