に私firebaseデータベースに名前のノードを追加することができ、私は私がリストビューに単一firebaseノードを追加することができますどのように、リストビューに名前のノードを追加しようとしていますか?私はいくつかのことを試みましたが、できませんでした。仮想 方法「com.google.firebase.database.DatabaseReference com.google.firebase.database.FirebaseDatabase.getReference(javaの起動しようとすると:java.lang.NullPointerExceptionが:私のcatlogはによって引き起こさはどのように私はこれは私のデータベースの画像 <a href="https://i.stack.imgur.com/NA2wK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/NA2wK.png" alt="enter image description here"></a></p> <p>あるリストビュー
を」と言います。 lang.String) ' nullオブジェクトリファレンスに "
私はfirebaseの新機能です。あなたの参照をインスタンス化していなかったので、あなたはnull
を取得している
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("user");
で
DatabaseReference myRef = database.getReference("user");
:このコード行を変更、この問題を解決するには
public class Technician extends Activity {
private FirebaseDatabase database;
ListView listView;
ArrayList<String> tecnames = new ArrayList<>();
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_technician);
ImageButton Back_Btn = (ImageButton) findViewById(R.id.back);
Back_Btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Technician.this, Technician_main.class);
startActivity(i);
finish();
}
});
DatabaseReference myRef = database.getReference("user");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
String value = childSnapshot.getValue(String.class);
tecnames.add(value);
}
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
});
listView = (ListView) findViewById(R.id.list_item);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(Technician.this, Book_Now.class);
startActivity(intent);
finish();
}
});
Technician.CostumAdapter costumAdapter = new Technician.CostumAdapter();
listView.setAdapter(costumAdapter);
}
private class CostumAdapter extends BaseAdapter {
@Override
public int getCount() {
return tecnames.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.cuctom_listview, null);
TextView txt_one = (TextView) view.findViewById(R.id.skill_txt);
txt_one.setText(tecnames.get(i));
return view;
}
}
}
まだ値がnullになっています –
Firebaseコンソールで権限を正しく設定しましたか? –
uはルール{ "ルール" を意味します:{ "ユーザー":{ "の$ UID":{ ".WRITE ": "!AUTH = NULL && auth.uid == $のUID"、 " .readを" : "auth!= null && auth.uid == $ uid" } } } } –