Java BindViewHolder上适配器的位置不为';我不喜欢吐司
因此,我试图在BindViewHolder上打印位置,但我的toast是空白的Java BindViewHolder上适配器的位置不为';我不喜欢吐司,java,android,android-recyclerview,Java,Android,Android Recyclerview,因此,我试图在BindViewHolder上打印位置,但我的toast是空白的 public void onBindViewHolder(@NonNull MyViewHolder,final int位置){ .... holder.mainLayout.setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ .... 意图。额外(“位置”,位置); 背景。开始触觉(意图); } }); } 所有这些最终都会在myM
public void onBindViewHolder(@NonNull MyViewHolder,final int位置){
....
holder.mainLayout.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
....
意图。额外(“位置”,位置);
背景。开始触觉(意图);
}
});
}
所有这些最终都会在myMainActivity
String pos=getIntent().getStringExtra(“位置”);
Toast.makeText(this,pos,Toast.LENGTH_SHORT).show();
我似乎找不到如何获取
onBindViewHolder
函数的位置值的问题 以这种方式更改代码
String pos = getIntent().getIntExtra("position",0).toString();
Toast.makeText(this, pos, Toast.LENGTH_SHORT).show();
同一父视图的任何其他子视图都可以从v访问 我有一行EditText&Button,当我点击下面的按钮时,代码将给你们EditText的值,以传递给另一个活动。通过这种方式,我可以发送该行的id
ConstraintLayout layout = (ConstraintLayout)v.getParent();
intent.putExtra("editTextValue", ((EditText)layout.getChildAt(0)).getText());
context.startActivity(intent);
只需通过一行代码将位置更改为字符串值-
intent.putExtra("position", position+"");
你为什么不直接用position来代替pos?你在主要活动中把这个祝酒词叫什么?是否在onCreate()中?如果是这样,请尝试在onResume()方法中执行此操作。不要忘记检查getIntent()是否为null