0
firebaseデータベースからログインしたユーザーの名前を取得し、アンドロイドのデフォルトイメージの下にナビゲーションドロワーのヘッダーを配置しようとしています。 しかし、私がそうしようとすると、アプリケーションがクラッシュし、アクティビティが起動します。私は 単純なテキストビューでは、それが動作しますが、動作しますが、ナビゲーションヘッダー内の名前を更新しようとすると失敗し、クラッシュする名前をretrivingしようとしました。このことをどうやって行うのか。ナビゲーションドロワー(Android)でのデータフェッチ
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = (String) dataSnapshot.child("users").child(userID).child("name").getValue();
outputName.setText(name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
これは私の名前を取得するためのコードです。私は名前をトーストしようとすると動作しますが、ヘッダー内の値は更新されておらず、一般的にアプリケーションのクラッシュが発生することに注意してください。
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/userProfileImage"
android:layout_width="100dp"
app:civ_border_width="4dp"
app:civ_border_color="#fff"
android:layout_height="100dp"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:layout_centerHorizontal="true"
android:src="@drawable/profile_default_image"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="App User"
android:id="@+id/current"
android:layout_below="@+id/userProfileImage"
android:textAlignment="center"/>
これは私のXMLコードです。
私は、ユーザー名と丸で囲まれた領域を更新します。
以下のようにTextViewにキャストするためにあなたがかもしれない原因あなたのTextViewのnullにですここにあなたのログを表示します –