“java.lang.NullPointerException”错误(错误详情,文章中有)我该如何解决?

耶尔马兹・亚吉兹・多库马奇

尝试在 Firebase 实时数据库中注册用户时收到 1-2 个代码错误。更正后,我收到了这样的错误。我在这里做了一些研究,但我没有尝试。请帮我。

这是我收到的错误:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.yagoozonfirebasejava, PID: 6130 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null com.example.yagoozonfirebasejava.ProfilePageAdapter.onBindViewHolder(ProfilePageAdapter.java:60) 上的对象引用 com.example.yagoozonfirebasejava.ProfilePageAdapter.onBindViewHolder(ProfilePageAdapter.java:16) 上 android.support.v7.widget.RecyclerView$Adapter.onBinder (RecyclerView.java:6781) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752) android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854) 在 android.support.v7 .widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230) 在 android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557) 在 android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java :1517) 在 android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612) 在 android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) 在 android.support.v7.widget。 RecyclerView.dispatchLayout(RecyclerView.java:3641) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194) at android.view.View.layout(View.java:20672) 在 android.view.ViewGroup.layout(ViewGroup.java:6194) 在 android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915) 在 android.view.View.layout(View.java:20672) 在android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View .layout(View.java:20672) 在 android.view.ViewGroup.layout(ViewGroup.java:6194) 在 android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812) 在 android.widget.LinearLayout.layoutVertical(LinearLayout. java:1656) 在 android.widget.LinearLayout.onLayout(LinearLayout.java:1565) 在 android.view.View.layout(View.java:20672) 在 android.view.ViewGroup.layout(ViewGroup.java:6194) 在android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) 在 android.widget。FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.LinearLayout.setChildFrame(LinearLayout) .java:1812) 在 android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656) 在 android.widget.LinearLayout.onLayout(LinearLayout.java:1565) 在 android.view.View.layout(View.java:20672)在 android.view.ViewGroup.layout(ViewGroup.java:6194) 在 android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) 在 android.widget.FrameLayout.onLayout(FrameLayout.java:261) 在 com.android。 internal.policy.DecorView.onLayout(DecorView.java:753) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.view.ViewRootImpl .performLayout(ViewRootImpl.java:2792) 在 android.view.ViewRootImpl。performTraversals(ViewRootImpl.java:2319) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:949) 在 android.view.Choreographer.doCallbacks(Choreographer.java:761) 在 android.view.Choreographer.doFrame(Choreographer.java:696) 在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer. java:935) 在 android.os.Handler.handleCallback(Handler.java:873) 在 android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime: 在 android.os.Looper.loop(Looper.java :193) 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java :493) 在 com.android.internal。os.ZygoteInit.main(ZygoteInit.java:858)

配置文件页面适配器代码:

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.google.firebase.database.DatabaseReference;

import java.util.List;

public class ProfilePageAdapter extends RecyclerView.Adapter<ProfilePageAdapter.CardDesingHolder>{

    private Context mContext;
    private List<Users> usersList;
    private DatabaseReference myRef;

    public ProfilePageAdapter(Context mContext, List<Users> kisilerListe, DatabaseReference myRef) {
        this.mContext = mContext;
        this.usersList = kisilerListe;
        this.myRef = myRef;
    }

    public class CardDesingHolder extends RecyclerView.ViewHolder {

        private TextView user_RealNameProfileAdapter;
        private TextView user_surnameProfileAdapter;
        private TextView user_emailProfileAdapter;
        private TextView user_nameProfileAdapter;
        private ImageView user_ImageViewProfileAdapter;

        public CardDesingHolder(@NonNull View itemView) {
            super(itemView);

            user_RealNameProfileAdapter = itemView.findViewById(R.id.userRealName_userCard);
            user_surnameProfileAdapter = itemView.findViewById(R.id.usersurname_userCard);
            user_emailProfileAdapter = itemView.findViewById(R.id.userEmail_userCard);
            user_ImageViewProfileAdapter = itemView.findViewById(R.id.userProfileImage_userCard);
        }
    }

    @NonNull
    @Override
    public CardDesingHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.user_card, viewGroup, false);
        return new CardDesingHolder(view);
    }

    @Override
    public void onBindViewHolder(final CardDesingHolder cardDesingHolder, int position) {
        final Users user = usersList.get(position);

        cardDesingHolder.user_emailProfileAdapter.setText("Mail : " + user.getUser_email());
        cardDesingHolder.user_surnameProfileAdapter.setText("Surname : " + user.getUser_surname());
        cardDesingHolder.user_RealNameProfileAdapter.setText("Name : " + user.getUser_name());
        cardDesingHolder.user_nameProfileAdapter.setText("Username : " + user.getUser_username());


    }

    @Override
    public int getItemCount() {
        return usersList.size();
    }
}
```


SignUp Page Code's : 
```java
package com.example.yagoozonfirebasejava;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ServerValue;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;

import java.io.IOException;
import java.util.UUID;

public class signupPage extends AppCompatActivity {
private Button btn_signupSignPage;
private EditText emailText;
private EditText passwordText;
private EditText user_surname;
private EditText user_username;
private EditText user_name;


// Database and Storage
private FirebaseAuth mAuth;
FirebaseDatabase firebaseDatabase;
DatabaseReference myRef;


private StorageReference mStorageRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signup_page);

        user_username = findViewById(R.id.username_signPage);
        user_surname = findViewById(R.id.surname_SignUpPage);
        user_name = findViewById(R.id.name_signPage);
        btn_signupSignPage = findViewById(R.id.btn_signSignupPage);
        emailText = findViewById(R.id.mail_signupPage);
        passwordText = findViewById(R.id.pass_signupPage);

        // Database and Storage
        // Veritabanı ve Storage
        mAuth = FirebaseAuth.getInstance();
        firebaseDatabase = FirebaseDatabase.getInstance();
        myRef = firebaseDatabase.getReference("Users");
        mStorageRef = FirebaseStorage.getInstance().getReference();


    }

    // Sign Up Method
    // Kullanıcı Kayıt etme metodu
   public void signUp(View view) {
       mAuth.createUserWithEmailAndPassword(emailText.getText().toString(), passwordText.getText().toString())
               .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                   @Override
                   public void onComplete(@NonNull Task<AuthResult> task) {
                       if (task.isSuccessful()) /* Kullanıcı girişi başarılı ise bu çalışacak */ {
                           Toast.makeText(signupPage.this, "User Created", Toast.LENGTH_SHORT).show();
                           Intent homePage = new Intent(signupPage.this, ProfilePage.class);
                           startActivity(homePage);
                           finish();

                       } else /* Kullanıcı girişi başarısız ise bu çalışacak */ {
                           Intent signBack = new Intent(signupPage.this, signupPage.class);
                           startActivity(signBack);
                           finish();
                       }

                   }
               }).addOnFailureListener(this, new OnFailureListener() {
           @Override
           public void onFailure(@NonNull Exception e) {
               Toast.makeText(signupPage.this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
           }
       });

       String userName = user_name.getText().toString();
       String userSurname = user_surname.getText().toString();
       String username = user_username.getText().toString();
       String user_email = emailText.getText().toString();
       String key = myRef.push().getKey();


       Users user = new Users(key,username,userSurname,userName,user_email);

       myRef.push().setValue(user);


/*
       // Profile Image Method
       // Profil Resmi Seçme Metodu
       public void selectImage (View view){
           if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
               ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
           } else {
               Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
               startActivityForResult(gallery, 2);
           }
       }


    // Permission Control
    // İzin Kontrolü
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == 1) {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(gallery, 2);
            }
        }
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    // Profil Resmi Seçtirme
    @Override
    protected void onActivityResult(int resultCode, @Nullable Intent data) {
        if(requestCode == 2 && resultCode == RESULT_OK &&  data != null) {
            selectedImage = data.getData();
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
                profilResmi.setImageBitmap(bitmap);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
*/
   }

}
```


Users Class Code's : 
```java
package com.example.yagoozonfirebasejava;

public class Users {
    private String user_id;
    private String user_name;
    private String user_username;
    private String user_surname;
    private String user_email;

    // Empty Constructor
    public Users() {
    }

    // Constructor
    public Users(String user_id, String user_name, String user_username, String user_surname, String user_email ) {
        this.user_id = user_id;
        this.user_name = user_name;
        this.user_username = user_username;
        this.user_surname = user_surname;
        this.user_email = user_email;
    }

    // Getter And Setter's

    public String getUser_id() {
        return user_id;
    }

    public void setUser_id(String user_id) {
        this.user_id = user_id;
    }

    public String getUser_name() {
        return user_name;
    }

    public void setUser_name(String user_name) {
        this.user_name = user_name;
    }

    public String getUser_username() {
        return user_username;
    }

    public void setUser_username(String user_username) {
        this.user_username = user_username;
    }

    public String getUser_surname() {
        return user_surname;
    }

    public void setUser_surname(String user_surname) {
        this.user_surname = user_surname;
    }

    public String getUser_email() {
        return user_email;
    }

    public void setUser_email(String user_email) {
        this.user_email = user_email;
    }

}
```

用户卡 XML :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:id="@+id/userRealName_userCard"
            android:layout_marginTop="130dp"
            android:textAlignment="center"
            android:textSize="25dp"
            android:layout_width="match_parent"
            android:layout_height="41dp"
            android:text="Yılmaz Yağız" />

        <TextView
            android:id="@+id/usersurname_userCard"
            android:textAlignment="center"
            android:layout_marginTop="25dp"
            android:textSize="30dp"
            android:layout_below="@id/userRealName_userCard"
            android:layout_width="match_parent"
            android:layout_height="41dp"
            android:text="Dokumacı" />

        <ImageView
            android:id="@+id/userProfileImage_userCard"
            android:layout_marginTop="25dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/usersurname_userCard"
            tools:srcCompat="@tools:sample/avatars" />

        <TextView
            android:id="@+id/userEmail_userCard"
            android:layout_marginTop="25dp"
            android:textAlignment="center"
            android:textSize="25dp"
            android:layout_below="@id/userProfileImage_userCard"
            android:layout_width="match_parent"
            android:layout_height="41dp"
            android:text="[email protected]" />

        <TextView
            android:id="@+id/username_userCard"
            android:layout_marginTop="25dp"
            android:textAlignment="center"
            android:textSize="25dp"
            android:layout_below="@id/userEmail_userCard"
            android:layout_width="match_parent"
            android:layout_height="41dp"
            android:text="yagoo" />


    </RelativeLayout>


</LinearLayout>
阿尔瓦罗

尝试添加user_nameProfileAdapter = itemView.findViewById(R.id.userName_userCard);到您的CardDesingHolder构造函数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

完成所有说明后,跳过Selenium Webdriver测试,并给出java.lang.NullPointerException错误,我该如何解决?

java.lang.NullPointerException发生,正在开发android,我该如何解决?

我该如何解决此错误;java.lang.ClassNotFoundException:org.gradle.api.internal.plugins.DefaultConvention

我该如何解决 android studio 中的这个错误?java.lang.IllegalStateException:必需的视图“recycler_food_list”

(java.lang.StackOverflowError) 我该如何解决?

我该如何解决java.lang.ArrayStoreException

如何解决java.lang.NullPointerException?

如何解决线程“ main”中的异常java.lang.NullPointerException错误

java.lang.NoClassDefFoundError如何解决此错误

如何解决类似java.lang.Throwable:setStateLocked的错误?

如何解决java.lang.ArrayIndexOutOfBoundsException错误

为什么我得到java.lang.UnsatisfiedLinkError:即使IntelliJ没有编译错误,java.library.path中也没有jnisgfplib,如何解决?

java.lang.nullpointerexception错误

java.lang.NullPointerException错误?

java.lang.NullPointerException错误

java.lang.NullPointerException错误

java.lang.NullPointerException 问题如何解决

如何解决此错误“无法启用位置服务。错误:java.lang.NoClassDefFoundError”?

我如何解决此错误线程“主”中的异常java.lang.NoClassDefFoundError:javax / crypto / SecretKey

如何解决了java.lang.RuntimeException:存根!在java文件错误?

“错误或错误” java.lang.NullPointerException

为什么在Maven项目中发生调用浏览器'java.lang.NullPointerException'时,该如何解决?

java lang验证错误

Java.lang错误?

如何解决Java中的NullPointerException错误?

如何在Java中调试java.lang.NullPointerException错误?

如何解决java.lang.IllegalStateException?

如何解决java.lang.NoClassDefFoundError?

如何解决java.lang.NoSuchMethodError