我正在为我的android应用程序创建一个包含两组数据的虚拟数据的RecyclerView。但是布局并没有迭代两次,而是正确地显示第一个数据。
public class HomeScreenFragment extends Fragment {
private ArrayList<String> flags = new ArrayList<>();
private ArrayList<String> leagues = new ArrayList<>();
private ArrayList<String> dates = new ArrayList<>();
private Context context;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_home, container, false);
return root;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
initData();
}
private void initData() {
leagues.add("Indian premiere league");
dates.add("03-Dec");
leagues.add("Srilankan Premiere league");
dates.add("04-Dec");
initRecyclerView();
}
private void initRecyclerView() {
RecyclerView recyclerView = getView().findViewById(R.id.homeRecyclerView);
HomeScreenRVAdapter adapter = new HomeScreenRVAdapter(flags,leagues,dates,context);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
}
}
public class HomeScreenRVAdapter extends RecyclerView.Adapter<HomeScreenRVAdapter.ViewHolder> {
private static final String TAG = "HomeScreenRVAdapter";
private String BASE_URL, API_KEY;
private ArrayList<String> flags = new ArrayList<>();
private ArrayList<String> leagues = new ArrayList<>();
private ArrayList<String> dates = new ArrayList<>();
private Context context;
public HomeScreenRVAdapter(ArrayList<String> flags, ArrayList<String> leagues, ArrayList<String> dates, Context context) {
this.flags = flags;
this.leagues = leagues;
this.dates = dates;
this.context = context;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_home, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {
holder.league.setText(leagues.get(position));
holder.date.setText(dates.get(position));
}
@Override
public int getItemCount() {
return leagues.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
// HEADER WIDGETS
ExpansionHeader expansionHeader;
ImageView flag;
TextView league, date;
// LAYOUT WIDGETS
ExpansionLayout expansionLayout;
TextView minutes, local, visitor, localScore, visitorScore;
ImageView favourite;
public ViewHolder(@NonNull View itemView) {
super(itemView);
expansionHeader = itemView.findViewById(R.id.expansionHeader);
flag = itemView.findViewById(R.id.headerFlag);
league = itemView.findViewById(R.id.expansionHeaderLeague);
date = itemView.findViewById(R.id.expansionHeaderDate);
}
}
}
你的代码看起来很好。layout_home
中很可能存在一个问题。确保android:layout_height
设置为wrap_content
。
此外,您可以实现一个自定义对象arraylist
,而不是创建三个单独的对象。自定义对象将保存每个项的属性。但是,这是一个建议,我不认为这是您面临的bug的原因。
我一直在stackoverflow和这篇博文上阅读不同的答案,并试图实现它们的解决方案,但我仍然得到错误: 片段中的布局: 和项目的布局: 我做错了什么? 编辑:以下是适配器:
我制作了一个基本的购物清单应用程序,它利用回收器视图来显示列表项目。我正在尝试使用带有片段的导航添加设置屏幕。我遇到了我的回收器视图的问题 主活动.kt HomeFragment.kt 设置Fragment.kt activity_main.xml fragment\u home.xml navigation.xml 不确定是否需要更多信息。提前道歉-我是android studio的新手
我正在使用一个片段来查看一个RecyclerView。但我总是犯这个错误 E/RecyclerView:未附加适配器;跳过布局 我已经为我的recyclerview创建了一个适配器,但布局没有显示。php后端运行良好。谁能帮帮我。下面是我的片段和适配器代码 Tips.java TipAdapter.java
我已经提到了相当少的帖子关于这个错误,但没有一个能够解决我的问题。我有一个片断,在这里我使用修改获得了我的值,我已经在下面显示了: 下面是我的RecyclerView适配器类:
我正在开发一个天气应用程序,我想在其中使用中的两个,它的成员是。我想使用一个来显示今天的天气,另一个视图来显示其他日子的天气。如果我只使用一个来显示天气,我的就可以正常工作。我还覆盖了视图`type I应该充气。 的代码: 我已覆盖的的的代码: 无论中的的值是什么,函数总是返回。 有人能告诉我我做错了什么吗?
当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。