gpt4 book ai didi

java - 单击某个项目后如何关闭回收者 View 持有者?

转载 作者:行者123 更新时间:2023-12-02 10:03:49 26 4
gpt4 key购买 nike

我正在尝试关闭 View 持有者(在编辑文本中搜索后显示的项目列表)。但我找不到合适的功能或方法来做到这一点!有什么帮助吗?

我有一个搜索适配器,我尝试覆盖 onBindViewHolder 并尝试关闭那里的回收器 View 。但我正在努力寻找正确的功能或方法..

@Override
public void onBindViewHolder(final SearchViewHolder holder, int position) {

holder.full_name.setText(fullNameList.get(position));
holder.full_name.setBackgroundColor(selectedPos == position ? Color.GREEN : Color.LTGRAY);

holder.full_name.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(final View v) {


if (holder.getAdapterPosition() == RecyclerView.NO_POSITION) return;
notifyItemChanged(selectedPos);
selectedPos = holder.getLayoutPosition();
notifyItemChanged(selectedPos);
Toast.makeText(context, ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); //Here I get the text string


// close keyboard on click

v.clearFocus();
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}



}
});
}

最佳答案

你的问题不清楚。您可以清除 fullNameList 并进行通知更改吗?

@Override
public void onClick(final View v) {
if (holder.getAdapterPosition() == RecyclerView.NO_POSITION) return;
notifyItemChanged(selectedPos);
selectedPos = holder.getLayoutPosition();
notifyItemChanged(selectedPos);
Toast.makeText(context, ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); //Here I get the text string

//Clears the list and notify the adapter
fullNameList.clear();
notifyDataSetChanged();

v.clearFocus();
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}

虽然 AutoCompleteTextView 应该可以很好地完成这项工作。

关于java - 单击某个项目后如何关闭回收者 View 持有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55443409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com