因此,我试图从firebase向recyclerview显示图像,但它抛出了一个错误。错误提示E/nite competitive:[qarth _ debug:]get patch store::createDisableExceptionQarthFile方法失败。E/AndroidRuntime:致命异常:主进程:com . example . fortnite competitive,PID:15205 Java . lang . nullpointerexception:尝试在com . Google . firebase . database . core . valueeventregistration . fire event的空对象引用上调用虚拟方法“void Android x . recycle view . widget . recycle view . set Adapter(androidx . recycle view . widget . recycle view$Adapter)”我将非常感谢帮助。
public class NewsActivity extends AppCompatActivity {
FirebaseDatabase mDatabase;
DatabaseReference mRef;
FirebaseStorage mStorage;
RecyclerView recyclerView;
List<Post> postList;
private RecyclerView mRecyclerView;
private ImageAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.action_bar);
mDatabase = FirebaseDatabase.getInstance();
mRef = FirebaseDatabase.getInstance().getReference("Posts");
mStorage = FirebaseStorage.getInstance();
recyclerView = findViewById(R.id.recycler_news);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
postList = new ArrayList<>();
mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()){
Post post = postSnapshot.getValue(Post.class);
postList.add(post);
}
mAdapter = new ImageAdapter(NewsActivity.this, postList);
mRecyclerView.setAdapter(mAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
适配器
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.squareup.picasso.Picasso;
import java.util.List;
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
private Context mContext;
private List<Post> mUploads;
public ImageAdapter(Context context, List<Post> uploads){
mContext = context;
mUploads = uploads;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(mContext).inflate(R.layout.news_row,parent,false);
return new ImageViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull ImageAdapter.ImageViewHolder holder, int position) {
Post post = mUploads.get(position);
holder.textViewName.setText(post.getmTitle());
Picasso.get().load(post.getmImage()).fit().centerCrop().into(holder.imageView);
}
@Override
public int getItemCount() {
return mUploads.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder{
public TextView textViewName;
public ImageView imageView;
public ImageViewHolder (View itemView) {
super (itemView);
textViewName = itemView.findViewById(R.id.newsTitle);
imageView = itemView.findViewById(R.id.newsImage);
}
}
}
职位类别
public class Post {
public String mTitle;
public String mImage;
public Post(){
}
public Post(String mTitle, String mImage){
this.mTitle = mTitle;
this.mImage = mImage;
}
public String getmImage(){
return mImage;
}
public String getmTitle() {
return mTitle;
}
}
在您活动中有两个回收器视图实例。
RecyclerView recyclerView;
private RecyclerView mRecyclerView;//remove this line and set adapter for above recyclerView instance
recyclerView.setAdapter(mAdapter);
问题内容: 我不知道我的代码有什么问题 这是我的片段课 这是我的SessionManager.java 运行项目时出现的错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ void com.example.gandi.symanlub.SessionManager.logoutUser()” 问题答案: 您收到错误消息是因为在此行您正在调用: 会
我有一个计时器在第二个活动中。我想从main activity访问它,所以我将chronometer作为public static放在第二个activity中,并将“secondactivity.chronometer”放在main activity中,但是当启动应用程序时,它在空对象引用上显示,我已经检查了xml id是否正确。有人知道怎么解决这个问题吗?
我在使用recycler视图启动活动时出错,因此我有3个文件java类、一个适配器和要执行的活动。 java类只是一个具有3个变量的简单对象 回收器视图的适配器 以及活动 我得到的错误是: 我在一个空项目上做了同样的配置,一切看起来都是正确的,
我正在尝试使用Reform2调用API获取数据。当我打开应用程序时,它会立即崩溃。我尝试了很多解决方案。我使用postman,但仍然可以看到所有数据都是json格式的。有人能帮我吗?非常感谢你 这是我的日志 ApiClient公司 } aip调用接口 这里是我的家片段。
问题内容: 是否有可能在Java中获得对对象的所有引用。 我需要检查的是对象是否删除了所有的回调订阅。 谢谢 问题答案: 这可以通过JVMTI实现,并且通常由堆分析器完成。但是,它不能在Java内部完成。
问题内容: 我是Java的新手。我说,我有一个类 人 。我要列印 上面的代码给出如下输出: 这有什么意义? 该对象是否具有某种唯一标识? 我可以自定义吗?我的意思是编写自己的函数,该函数在打印时会输出? 如果是这样,我该怎么做? 问题答案: 如果要打印任何对象的有意义的内容,则必须实现自己的方法,该方法将覆盖parent()类的方法。默认情况下,所有类(无论您创建什么)都扩展类。 样例代码: 输出