Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取密钥时如何修复firebase的空指针?_Java_Android_Firebase - Fatal编程技术网

Java 获取密钥时如何修复firebase的空指针?

Java 获取密钥时如何修复firebase的空指针?,java,android,firebase,Java,Android,Firebase,由于没有从firebase获取数据,我出现了一个错误,我不知道为什么,但我尝试设置modeldata的键。当我试着把它放在Recycleview上时。我试图获取数据时出错。 看看我的代码 列表活动 public class ListActivity extends BaseActivity { private DatabaseReference databaseReference; private RecyclerView labelRecycleView; priva

由于没有从firebase获取数据,我出现了一个错误,我不知道为什么,但我尝试设置modeldata的键。当我试着把它放在Recycleview上时。我试图获取数据时出错。 看看我的代码

列表活动

public class ListActivity extends BaseActivity {

    private DatabaseReference databaseReference;
    private RecyclerView labelRecycleView;
    private ArrayList<DataFirebase> listLabel;
    private listAdapter listAdapter;
    private Button bInput;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        findView();
        setDataToList();
        initListener();
        putLayoutManager();
    }

    private void setDataToList() {
        simpleway.progressDialog(ListActivity.this);
        databaseReference.child("Username").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                listLabel = new ArrayList<>();
                for (DataSnapshot dataSnap : dataSnapshot.getChildren()) {

                    DataFirebase modelClass = dataSnap.getValue(DataFirebase.class);
                    modelClass.setLabel(dataSnap.getKey());
                    listLabel.add(modelClass);
                }
                listAdapter = new listAdapter(listLabel, ListActivity.this);
                labelRecycleView.setAdapter(listAdapter);
                simpleway.stopProgressDialog();
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                System.out.println(databaseError.getDetails() + " " + databaseError.getMessage());
                simpleway.stopProgressDialog();
            }
        });
    }

    private void putLayoutManager() {
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext());
        labelRecycleView.setLayoutManager(layoutManager);
        labelRecycleView.setItemAnimator(new DefaultItemAnimator());
    }

    @Override
    public void findView() {
        databaseReference = FirebaseDatabase.getInstance().getReference();
        labelRecycleView = findViewById(R.id.listRecyclerVIew);
        bInput = findViewById(R.id.inputData);
    }


    @Override
    public void initListener() {
        bInput.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                simpleway.startnextActivity(ListActivity.this, InputActivity.class);
            }
        });
    }

    }

如何修复此问题?

根据堆栈跟踪,您的textview为空

textlab=itemviewbyd(R.id.text\u标签);
linearLabel=itemView.findviewbyd(R.id.linearLabel)


确保您的文本标签/linearLabel id属于R.layout.item标签。

请显示您的数据结构

在代码中添加以下内容:

if (modelClass != null){
modelClass.setLabel(dataSnap.getKey());
}

您的viewholder无法获取文本标签的对象。实际错误行号为49:textLabel=itemView.findViewById(R.id.text\u标签);请添加.XML文件的内容,并用@AlexMamo@AtishAgrawal我已经编辑了我的问题,是的,问题是项目标签中我的项目id。谢谢大家,。。我没看见coming@AlexMamo我已经编辑过了
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
     at com.example.parzival.flashcard.adapter.listAdapter.onBindViewHolder(listAdapter.java:45)
        at com.example.parzival.flashcard.adapter.listAdapter.onBindViewHolder(listAdapter.java:23)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
if (modelClass != null){
modelClass.setLabel(dataSnap.getKey());
}