android - ContextThemeWrapper 不能在 AppCompatActivity 中强制转换
问题描述
无法解决为:: java.lang.ClassCastException: android.view.ContextThemeWrapper 无法强制转换为 androidx.appcompat.app.AppCompatActivity。
浏览了各个站点,但无法解决我的问题。
holder.ivPlace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppCompatActivity activity = (AppCompatActivity) v.getContext();
Fragment myFragment = new BookingDetailsFragment();
activity.getSupportFragmentManager().beginTransaction().replace(R.id.bookingFragment, myFragment)
.addToBackStack(null).commit();
}
});
布局以这种方式膨胀::
@NonNull
@Override
public BookingActivityAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_booking_data, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
解决方案
我知道已经晚了,但我通过传递MyActivity.this
而不是this
or来解决它getApplicationContext()
。
推荐阅读
- discord.js - Discord js v13 命令参数选项
- c++ - 在linux上关闭窗口时如何使CEF应用程序进程退出?
- laravel - Laravel jetstream 使用下拉菜单更改用户
- iterm2 - 如何在 iTerm2 中更改文本颜色
- ruby-on-rails - 无法解释后端的 /service-worker 调用
- python - 如何在 PyQt5 中用鼠标在图像上绘制矩形
- python - 递归执行自身的 Python 文件
- sql - SQL插入重复项
- amazon-web-services - com.mysql.cj.jdbc.exceptions.CommunicationsException:在 aws cicd 管道构建期间通信链接失败
- html - 当 box-sizing 是 content-box 时,为什么宽度包括边框?