java - 如何从类的方法传递意图的上下文?
问题描述
错误:java.lang.NullPointerException:尝试在 com.adriitsolutions.prarthana.AdapterForListView.MyRequestForBloodRequirementListRecyclerView$1.onClick(MyRequestForBloodRequirementListRecyclerView. java:153) 在 android.view.View.performClick(View.java:6935) 这是我的代码。
java ((myViewHolderForRecyclerViewOfMenu) viewHolder).iv_my_request_view.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // showLeadDetails(position); context.startActivity(new Intent( context , ViewDonorListActivity.class)) ; Log.e("ONCLICK", "查看请求"); } });
Adapter : @Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.sendAt.setText(mData.get(position).getSendAt());
holder.radius.setText(mData.get(position).getRadius());
holder.acceptedStatus.setText(mData.get(position).getAcceptedStatus());
holder.requestBloodGrpType.setImageResource(mData.get( position ).getRequestBloodGrpType() );
//holder.requestUrgenyType.setImageResource( mData.get( position ).getRequestUrgencyType() );
holder.viewRequest.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
mContext.startActivity(new Intent(mContext,ViewDonorListActivity.class));
}
} );
/* holder.buttonView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mContext.startActivity(new Intent(mContext,ViewDonorListActivity.class));
}
});*/
}
解决方案
只需使用ViewHolder的itemView 中的上下文-
解决方案
Context context = holder.itemView.getContext();
context.startActivity(new Intent(context,ViewDonorListActivity.class));
推荐阅读
- javascript - 如何收听元素可见性?
- android - 如何处理错误:“未经许可,不允许启动服务意图”服务属于另一个应用程序
- linux - 在 Linux 中不使用乘法运算符计算两个整数的乘积的汇编代码
- python - find_elements_by_xpath 有时会返回一个员工列表?
- mysql - MySQL存储过程中的多个插入语句
- c# - 向 Azure 表存储中的 Serilog 表添加自定义列以记录新信息
- android - Android AudioManager 中的 getStreamVolumedB 返回什么?
- winapi - NtReadFile() 可以在不达到 eof 的情况下产生短读吗?
- java - 如何从终端将持久性数据库导出到 h2 中的内存数据库
- perl - 发现这是一个旧代码库,想知道它是否合法: if ($foo =~ "bar" and "baz") {