我的RecolyerView
不调用OnCreateViewWholder
、OnBindViewWholder
甚至MenuViewWholder
构造函数,因此RecolyerView
中不显示任何内容。我放了日志进行调试,但没有显示日志。可能是什么问题?
我的适配器:
public class MenuAdapter extends RecyclerView.Adapter<MenuAdapter.MenuViewHolder> {
private LayoutInflater inflater;
List<Menu> data = Collections.emptyList();
public MenuAdapter(Context context, List<Menu> data) {
Log.i("DEBUG", "Constructor");
inflater = LayoutInflater.from(context);
Log.i("DEBUG MENU - CONSTRUCTOR", inflater.toString());
this.data = data;
for(Menu menu: this.data){
Log.i("DEBUG MENU - CONSTRUCTOR", menu.menu);
}
}
@Override
public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.row_menu, parent, false);
MenuViewHolder holder = new MenuViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MenuViewHolder holder, int position) {
Log.i("DEBUG MENU", "onBindViewHolder");
Menu current = data.get(position);
holder.title.setText(current.menu);
}
@Override
public int getItemCount() {
return 0;
}
class MenuViewHolder extends RecyclerView.ViewHolder {
TextView title;
ImageView icon;
public MenuViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.menuText);
}
}
我的自定义行XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/menuText"
android:text="Dummy Text"
android:layout_gravity="center_vertical"
android:textColor="#222"/>
而我的片段:
public NavigationFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mUserLearnedDrawer = Boolean.valueOf(readFromPreferences(getActivity(), KEY_USER_LEARNED_DRAWER, "false"));
if (savedInstanceState != null) {
mFromSavedInstaceState = true;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_navigation, container, false);
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.drawer_list);
MenuAdapter adapter = new MenuAdapter(getActivity(), getData());
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
return view;
}
您的GetItemCount
方法返回0
。因此recyclerView
从不尝试实例化视图。使其返回大于0
。
例如:
@Override
public int getItemCount() {
return data.size();
}
我已经研究了这个问题的几个SO答案(这里、这里和这里),但没有一个提议的解决方案奏效。我的问题是我的RecyclView列表项没有显示。我在MessengerRecyclAdapter、onCreateViewHolder、onBindViewHolder和getItemCount中设置了断点,并且只调用了第一个。在断点中,我输入了表达式评估器并执行 并得到了预期的答案20。RecyclerVie
我想单击按钮将添加到中,但未调用适配器的实现方法。 这是我的代码: CourseDetailAdapter。班 我想为输入数据添加layout,所以我不确定是否正确
我正在从Firebase数据库获取一些数据,并试图用它填充适配器。在适配器的被调用后,屏幕闪烁,什么也没发生,我甚至无法在onBindViewHolder中捕捉到断点。 这是我的代码: POJO类: } 这是我的活动布局,称为“活动结果”。包含RecyclerView的xml 这是我的Adapters ViewHolder布局,名为score_view_holder。xml 因此,它将包含两个水平
我试图使用Reform2显示来自虚拟服务器(JSON服务器)的JSON数据,并将其显示在片段中的RecyclerView中。到目前为止,正在发生以下事件(使用日志信息发现): 主片段<代码>字符片段(CharactersListFragment)。kt创建已启动 只调用了。它正在返回0 未调用OnCreateViewHolder()和onBindViewHolder() 成功地从服务器获取数据并将
没有任何错误,所有数据似乎都有效。出于某种原因,正在调用与视图相关的其他方法。我已经确保了以下几点: > > 正在调用构造函数,成员变量有效。 父视图是垂直线性布局;没有scrollview,或任何其他具有自己滚动属性的视图。 包含片段的视图被创建并显示在屏幕上。 下面是片段中的声明,后跟适配器。任何帮助都将不胜感激,因为这完全令人困惑。
当我的设备联机时,RecyclerView适配器会按预期工作。脱机时,不会调用onCreateViewHolder。 首先,我知道这一点:Recyclerview不会调用CreateViewHolder,这不是问题所在。getItemCount()返回一个数字 所以,它似乎与在线/离线状态有关,但我无法弄清楚如何。这是适配器: