Android Studio java。lang.NullPointerException:
我有几个问题
- 由于NullPointerException,应用程序未运行李>
Error content: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void 安卓x.recyclerview.widget.RecyclerView.setLayoutManager(安卓x.recyclerview.widget.RecyclerView$LayoutManager)' on a null object reference
活动。java
import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.widget.ImageView;
import 安卓x.appcompat.app.AppCompatActivity;
import 安卓x.recyclerview.widget.LinearLayoutManager;
import 安卓x.recyclerview.widget.RecyclerView;
import com.google.安卓.material.bottomnavigation.BottomNavigationView;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class ContactsActivity extends AppCompatActivity {
BottomNavigationView navView;
RecyclerView myContactsList;
ImageView findPeopleBtn;
private FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
private DatabaseReference databaseReference = firebaseDatabase.getReference();
@Override
protected void onCreate(Bundle savedInstanceStage) {
super.onCreate(savedInstanceStage);
setContentView(R.layout.activity_contacts);
navView = findViewById(R.id.nav_view);
navView.setOnNavigationItemSelectedListener(navigationItemSelectedListener);
findPeopleBtn = findViewById(R.id.find_people_btn);
myContactsList = findViewById(R.id.contact_list);
myContactsList.setLayoutManager(new LinearLayoutManager(getApplicationContext())); =>error
findPeopleBtn.setOnClickListener(v -> {
Intent findPeopleIntent = new Intent(ContactsActivity.this,FindPeopleActivity.class);
startActivity(findPeopleIntent);
});
}
活动。xml
<安卓x.recyclerview.widget.RecyclerView
安卓:id="@+id/contact_list"
安卓:layout_below="@+id/app_bar_layout_contacts"
安卓:layout_above="@+id/nav_view"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent">
</安卓x.recyclerview.widget.RecyclerView>
- Firebase的实时数据库无法上载李>
任何建议都是好的,所以请评论
# 1 楼答案
你的代码有几处问题。 首先,您的
DatabaseReference
没有引用firebase中的子级参考:https://firebase.google.com/docs/database/android/read-and-write
然后,您可以使用此子引用并使用FirebaseUI for Real Time数据库,以提供一种更简单的方式将您的子对象连接到
RecyclerView
。要了解如何实现这一点,请参阅以下内容:https://firebaseopensource.com/projects/firebase/firebaseui-android/database/readme/在创建
FirebaseRecyclerOptions
之后,为自己的实现创建FirebaseRecyclerAdapter
并覆盖onCreateViewHolder()
和onBindViewHolder()
然后将
FirebaseRecyclerAdapter
的实例设置为recycler视图的适配器,它将开始读取数据对于
Realtime Database
为空的问题,请尝试在Firebase控制台中导入包含数据的JSON
文件