【发布时间】:2020-02-23 16:13:12
【问题描述】:
我在 recyclerview 适配器的第 5 位有一个编辑文本。我需要单击按钮从该edittext中获取文本(按钮位于适配器的片段上,我需要该片段上的文本
【问题讨论】:
标签: android
我在 recyclerview 适配器的第 5 位有一个编辑文本。我需要单击按钮从该edittext中获取文本(按钮位于适配器的片段上,我需要该片段上的文本
【问题讨论】:
标签: android
在您的适配器中创建接口。
public interface ClickListener {
void onItemClick(int position, View v);
}
您可以在适配器的 Recycler View Holder 类中实现接口方法,以根据您的要求获取卡片视图的文本。
@Override
public void onClick(View v) {
clickListener.onItemClick(getAdapterPosition(),v);
imageView_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickListener.onItemClick(getAdapterPosition(), v);
}
});
}
现在,创建一个 ClickListner 类的全局静态对象,并将其传递给点击卡片的点击列表方法。现在在点击时从特定卡片视图中获取edittext文本。
//Create global reference
private static ClickListener clickListener;
创建方法来从片段中检测回收器视图中的点击。
public void setOnItemClickListner(ClickListener clickListner) {
MainAdapter.clickListener = clickListner;
}
现在您可以从绑定视图持有者的编辑文本中获取文本
@Override
public void onBindViewHolder(final MainViewHolder holder, final int position) {
final MainModel mainModel = modelList.get(position);
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickListener.onItemClick(holder.getAdapterPosition(), v);
editText.getText().toString();
}
});
}
它会为你工作。
【讨论】: