我正试图添加数据在我的回收视图从火炉。我有带名字的文件(级别级别编号)但没有显示我的活动这是代码:
主要活动水平:
公共类级别活动扩展AppCompat活动{
// Recycler View object
RecyclerView recyclerView;
// Array list for recycler view data source
public static List<String> levelList = new ArrayList<>();
// Layout Manager
RecyclerView.LayoutManager RecyclerViewLayoutManager;
// adapter class object
LevelAdapter adapter;
// Linear Layout Manager
LinearLayoutManager HorizontalLayout;
FirebaseFirestore firebaseFirestore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_level);
// initialisation with id's
recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
RecyclerViewLayoutManager = new LinearLayoutManager(getApplicationContext());
// Set LayoutManager on Recycler View
recyclerView.setLayoutManager(RecyclerViewLayoutManager);
firebaseFirestore = FirebaseFirestore.getInstance();
loadLevel();
// calling constructor of adapter
// with source list as a parameter
adapter = new LevelAdapter(levelList);
// Set Horizontal Layout Manager
// for Recycler view
HorizontalLayout = new LinearLayoutManager(LevelActivity.this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(HorizontalLayout);
// Set adapter on recycler view
recyclerView.setAdapter(adapter);
}
private void loadLevel(){
levelList.clear();
firebaseFirestore.collection("QUIZ LEVELS")
.document("TOTAL_LEVELS").get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
DocumentSnapshot doc = task.getResult();
if (doc.exists()) {
long levelCount = (long) doc.get("count");
for (int i = 1; i <= levelCount; i++) {
String levelName = doc.getString("LEVEL" + i);
levelList.add(levelName);
}
}else{
Toast.makeText(LevelActivity.this, "no level", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LevelActivity.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
水平调整器
公共类级别适配器扩展了RecyclerView。适配器
// List with String type
private final List<String> levelList;
// View Holder class which
// extends RecyclerView.ViewHolder
public class MyView extends RecyclerView.ViewHolder {
// Text View
TextView textView;
// parameterised constructor for View Holder class
// which takes the view as a parameter
public MyView(View view) {
super(view);
// initialise TextView with id
textView = (TextView) view.findViewById(R.id.textview);
}
}
// Constructor for adapter class
// which takes a list of String type
public LevelAdapter(List<String> horizontalList) {
this.levelList = horizontalList;
}
// Override onCreateViewHolder which deals
// with the inflation of the card layout
// as an item for the RecyclerView.
@Override
public MyView onCreateViewHolder(ViewGroup parent, int viewType) {
// Inflate item.xml using LayoutInflator
View itemView
= LayoutInflater
.from(parent.getContext())
.inflate(R.layout.recycler_view_item,
parent, false);
// return itemView
return new MyView(itemView);
}
// Override onBindViewHolder which deals
// with the setting of different data
// and methods related to clicks on
// particular items of the RecyclerView.
@Override
public void onBindViewHolder(final MyView holder, final int position) {
// Set the text of each item of
// Recycler view with the list items
holder.textView.setText(levelList.get(position));
}
// Override getItemCount which Returns
// the length of the RecyclerView.
@Override
public int getItemCount() {
return levelList.size();
}
}
从firestore/firebase加载数据需要一段时间。在收到文档的响应后,应该在加载级别内调用set adapter
RecyclerView recyclerView;
// Array list for recycler view data source
public static List<String> levelList = new ArrayList<>();
// Layout Manager
RecyclerView.LayoutManager RecyclerViewLayoutManager;
// adapter class object
LevelAdapter adapter;
// Linear Layout Manager
LinearLayoutManager HorizontalLayout;
FirebaseFirestore firebaseFirestore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_level);
// initialisation with id's
recyclerView = (RecyclerView) findViewById(R.id.recyclerview);
RecyclerViewLayoutManager = new
LinearLayoutManager(getApplicationContext());
// Set LayoutManager on Recycler View
recyclerView.setLayoutManager(RecyclerViewLayoutManager);
firebaseFirestore = FirebaseFirestore.getInstance();
HorizontalLayout = new LinearLayoutManager(LevelActivity.this,
LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(HorizontalLayout);
loadLevel();
}
private void loadLevel(){
levelList.clear();
firebaseFirestore.collection("QUIZ LEVELS")
.document("TOTAL_LEVELS").get()
.addOnCompleteListener(task -> {
if (task.isSuccessful()) {
DocumentSnapshot doc = task.getResult();
if (doc.exists()) {
long levelCount = (long) doc.get("count");
for (int i = 1; i <= levelCount; i++) {
String levelName = doc.getString("LEVEL" + i);
levelList.add(levelName);
}
//Set Adapter here
adapter = new LevelAdapter(levelList);
// Set adapter on recycler view
recyclerView.setAdapter(adapter);
}else{
Toast.makeText(LevelActivity.this, "no level",
Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LevelActivity.this,
task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
当我按下后退按钮时,这个ShoppingActivity会被破坏,当我再次访问该activity时,我发现我的回收器视图项目被替换了两次。我该如何解决这个问题? ShoppingActivity.java这里编写的所有代码和volley类也在这里调用,当我按下后退键并再次访问该活动时,我发现我的回收器视图项被替换了 @override protected void onCreate(Bundle
我正在制作一个应用程序,其中有回收器视图。但我无法在我的应用程序中看到回收器视图。当我检查Logcat时,它显示'e/recyclerview:No adapter attached;正在跳过布局‘。为什么会发生这种情况,我该如何修复? 我的主要活动代码: 我的适配器(PostAdapter.java)类代码:
我刚开始在firebase工作。我设法上传了文本和图像,但是,我无法检索要显示在回收器视图中的图像,只能检索文本。我用的是毕加索依赖。我已经包括了我的主要活动。java类,该类负责显示从问题“我的适配器”中的firebase检索的回收器视图项。java类和模型类。我相信,在我将图像URI上载到firebase存储时,我可能犯了没有存储图像URI的错误,因此适配器无法检索图像位置。我想这可能是因为我
在我的应用程序中,我使用了一个回收器视图,它包含了许多项目,我想在项目之间显示一个点分隔线(分隔符),但它不起作用。我尝试创建一个可绘制的形状,但在添加DividerItemDecurity之后,在回收器视图项之间没有显示空间或线条。我也尝试过创建自定义DividerItemDecoration类,但对我来说都不起作用。注意:目前在我的可绘制形状被设置为矩形,我也尝试了线条。如何实现。任何帮助都将
我需要制作一个电子商务应用程序类型的屏幕,具有多个viewpager和recycler视图。 我实现了它,但我的1/2视图寻呼机在回收器视图中可见,一旦我旋转设备,我的第一个视图寻呼机也会消失。 我的活动: 我的视图寻呼机片段: 我的回收器视图的主适配器: 我的视图寻呼机适配器: 我的水平回收器视图适配器: 主要活动布局: 水平滚动布局: 查看寻呼机布局: 根据我的JSON数据,在recycler
当我尝试将Image URL解析到ImageView中时,回收器视图不显示,活动为空。我正在使用Picasso将图像加载到适配器类中的onBinfViewHolder方法中。这是相关代码 代表: } RepRvAdapter: } 解析JSON数据的方法: 现在,我有一行解析图像URL的代码被注释掉了。行取消注释后,活动将不再显示。如何获取要在ImageView中解析和显示的图像url?我认为这可