Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BindViewHolder上适配器的位置不为';我不喜欢吐司_Java_Android_Android Recyclerview - Fatal编程技术网

Java BindViewHolder上适配器的位置不为';我不喜欢吐司

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

因此,我试图在BindViewHolder上打印位置,但我的toast是空白的

public void onBindViewHolder(@NonNull MyViewHolder,final int位置){
....
holder.mainLayout.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
....
意图。额外(“位置”,位置);
背景。开始触觉(意图);
}
});
}
所有这些最终都会在my
MainActivity

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