- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 YouTube 上学习了本教程.
我设法搜索了数据,但现在我想在回收站 View 中打开所选数据的详细信息页面。我如何完成它?我应该在哪一部分为recyclerview 实现onClickListener
?我试图将 onClickListener
放入方法 OnBindViewHolder 和 SetDetails 中, Intent 将额外的...放入方法 OnBindViewHolder 和 SetDetails 中,但它们都无法识别我的上下文。
这是我当前的代码:
private void firebaseIngredientSearch(String searchIngredient) {
Toast.makeText(SearchActivity.this, "Started Search", Toast.LENGTH_LONG).show();
Query firebaseSearchQuery = databaseReference.orderByChild("ingName").startAt(searchIngredient).endAt(searchIngredient + "\uf8ff");
FirebaseRecyclerOptions<Ingredients> firebaseRecyclerOptions = new FirebaseRecyclerOptions.Builder<Ingredients>()
.setQuery(firebaseSearchQuery, Ingredients.class)
.build();
FirebaseRecyclerAdapter<Ingredients, SearchActivity.IngredientsViewHolder> firebaseRecyclerAdapter = new
FirebaseRecyclerAdapter<Ingredients, SearchActivity.IngredientsViewHolder>(firebaseRecyclerOptions) {
@Override
protected void onBindViewHolder(@NonNull IngredientsViewHolder holder, int position, @NonNull final Ingredients model) {
holder.setDetails(model.getIngName(), model.getIngStatus(),model.getIngCategory(),model.getIngCategory());
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent goDetail = new Intent(, IngredientSearchDetailsActivity.class);
goDetail.putExtra("ingName", model.getIngName());
goDetail.putExtra("ingStatus", model.getIngStatus());
goDetail.putExtra("ingCategory", model.getIngCategory());
goDetail.putExtra("ingDescription", model.getIngDescription());
mActivity.startActivity(goDetail);
}
});
}
@NonNull
@Override
public IngredientsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_searched_ingredient, parent, false);
return new IngredientsViewHolder(view);
}
};
firebaseRecyclerAdapter.startListening();
rvSearchResult.setAdapter(firebaseRecyclerAdapter);
}
////////////////////////////////////////////////////////////////////////////
public static class IngredientsViewHolder extends RecyclerView.ViewHolder {
View view;
public IngredientsViewHolder(@androidx.annotation.NonNull View itemView) {
super(itemView);
view = itemView;
}
public void setDetails(String ingName, String ingStatus, String ingCategory, String ingDescription) {
TextView i_Name = view.findViewById(R.id.tvName);
TextView i_Status = view.findViewById(R.id.tvStatus);
TextView i_Category = view.findViewById(R.id.tvCategory);
TextView i_Description = view.findViewById(R.id.tvDescription);
ImageView iv_Status = view.findViewById(R.id.searchStatusIv);
i_Name.setText(ingName);
i_Status.setText(ingStatus);
i_Category.setText(ingCategory);
i_Description.setText(ingDescription);
}
}
最佳答案
用户 holder.view.setOnClickListener
启动 OnClickListener
并使用 holder.view.getContext()
而不是 mActivity
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent goDetail = new Intent(, IngredientSearchDetailsActivity.class);
goDetail.putExtra("ingName", model.getIngName());
goDetail.putExtra("ingStatus", model.getIngStatus());
goDetail.putExtra("ingCategory", model.getIngCategory());
goDetail.putExtra("ingDescription", model.getIngDescription());
holder.view.getContext().startActivity(goDetail);
}
});
关于android - 如何在 Firebase 回收器适配器中实现 recyclerview ItemClickListener()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58603131/
我需要在gridView.setOnItemClickListener末尾调用createRandomList()方法,但是当我制作这个 gridView 时,imageList 不会更新。 如果我在
我想在我的 android 项目中使用自定义对话框作为点击 ListView 的项目 我在不同的类中自定义我的对话框如下: public class CustomDialogOption exten
我对 onItemClickListener 有疑问,它不适用于我的代码我的代码是 listView = (ListView)findViewById(R.id.listVie
我可以知道为什么它向我显示“无法解析符号 ItemClickListener”的错误吗?我是否需要添加库或其他东西来解决这个问题,或者我不应该在这里声明它? public static class F
我试图在用户点击列表中的项目时打开视频。我有 ListView 工作的代码,以及打开视频的代码。我只是不知道如何将两者结合起来。 这是我打开视频的代码。 String video_path =
以下代码用于 itemclick 监听器 ListView_proddetails.setOnItemClickListener(new OnItemClickListener() { @Ov
我有一个自定义 ListView ,其中有一个 textview和一个 ImageView .我设置了focusable= false对于 textView 和 ImageView。对于 ListVi
在拥有 3 年的 Android 经验后,我正在使用 Kotlin 编写我的第一个应用程序。只是对如何在 Kotlin 中使用带有 RecyclerView 的 itemClickListener 感
我有以下代码,它应该显示一个可点击的图标,该图标会打开一个弹出对话框,读出一个冗长的注释。 this.capacityCommentColumn = this.facilityGrid
我正在使用 ArrayList 的集合来填充我的 Listview。我的 ListView 包含两个单独的行类型。 Header and Footer. 我正在尝试在我的 Listview 上实现 E
我的 OnItemClickListener 无法正常工作。我有一个带有 ListView 的自定义对话框布局。 ListView 将 TextView 作为 Item。 TextView 应该是可滚
我在 YouTube 上学习了本教程. 我设法搜索了数据,但现在我想在回收站 View 中打开所选数据的详细信息页面。我如何完成它?我应该在哪一部分为recyclerview 实现onClickLis
既然 google 正式支持 Kotlin 作为 android 中的主要(或即将成为)语言,我正在尝试翻译我的一个项目。尽管 Android Studio 内置的“翻译器”工作得很好,但它显然无法为
在我的应用程序中,我有一个 Spinner,我应该将来自服务器的一些数据显示到此 Spinner 中。 我的服务器数据有: "sections": [{ "id": 1,
我的应用程序中有一个 ListView,当我单击第一个 ListView 的每个项目时,我想要一个弹出窗口 ListView 出现,但是必须在弹出 View 中的第二个 ListView 不会出现。这
我是一名优秀的程序员,十分优秀!