2017-04-15 5 views
0

Ich erhalte einen Fehler, der ')' erwartet wird. Ich bin mir ziemlich sicher, dass das ist, weil es ein '}) erwartet;' als ich eine Klammer in dieser Zeile 'databaseClients.addValueEventListener (new ValueEventListener() {' öffnete. Wenn ich es jedoch hinzufüge/modifiziere, klagt das Programm immer noch. Nicht sicher warum.Fehler: Erwartet ')'

Dies ist höchstwahrscheinlich ein sehr dummer Fehler! Jede Hilfe wird geschätzt. Prost!

public class ViewProfile extends AppCompatActivity{ 

    ListView listviewClients; 
    List<Clients> clientsList; 

    DatabaseReference databaseClients; 

    protected void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_view_profile); 

     listviewClients = (ListView) findViewById(R.id.listviewClients); 
     databaseClients = FirebaseDatabase.getInstance().getReference("clients"); 

     clientsList = new ArrayList<>(); 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 

     databaseClients.addValueEventListener (new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

       clientsList.clear(); 

       for (DataSnapshot clientsSnapshot : dataSnapshot.getChildren()) { 
        Clients clients = clientsSnapshot.getValue(Clients.class); 

        clientsList.add(clients); 
       } 
       ClientsList adapter = new ClientsList(ViewProfile.this, clientsList); 
       listviewClients.setAdapter(adapter); 
      } 

      @Override 
      public void onCancelled(FirebaseError firebaseError) { 

      } 

     } 
    } 
} 

EDIT Wenn ich hinzufügen}); dies geschieht: enter image description here

Der Fehler, den ich jetzt bekommen ist: Fehler: (42, 48) Fehler: inkompatible Typen: kann nicht auf com.google.firebase.database.ValueEventListener umgewandelt werden.

+3

Sie eröffnet ein '(' 'hier databaseClients.addValueEventListener (neu ValueEventListener() {' aber noch nicht geschlossen hinzufügen ').' Nach dem Sie die Klammern schließen –

+0

@RajeevSingh Beifall.. Aber wenn ich das Schließen hinzufüge}); Es scheint den Code komplett zu durcheinander zu bringen (siehe die Bearbeitung in meiner Frage). Weißt du, warum? – Joe

+1

Das ist ein anderes Problem mit Ihrem Code, post den Fehler, den Sie nach dem Hinzufügen der geschweiften Klammern bekommen. –

Antwort

1

Es ist wahrscheinlich ein Problem mit Importen.

Sie müssen eine com.google.firebase.database.ValueEventListener verwenden. Aber ich denke, Sie haben einen Import für com.firebase.client.ValueEventListener in Ihre Importe über die Datei.

Android Firebase: Can´t add ValueEventListener

1
public class ViewProfile extends AppCompatActivity{ 

ListView listviewClients; 
List<Clients> clientsList; 

DatabaseReference databaseClients; 

protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view_profile); 

    listviewClients = (ListView) findViewById(R.id.listviewClients); 
    databaseClients = FirebaseDatabase.getInstance().getReference("clients"); 

    clientsList = new ArrayList<>(); 
} 

@Override 
protected void onStart() { 
    super.onStart(); 

    databaseClients.addValueEventListener (new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      clientsList.clear(); 

      for (DataSnapshot clientsSnapshot : dataSnapshot.getChildren()) { 
       Clients clients = clientsSnapshot.getValue(Clients.class); 

       clientsList.add(clients); 
      } 
      ClientsList adapter = new ClientsList(ViewProfile.this, clientsList); 
      listviewClients.setAdapter(adapter); 
     } 

     @Override 
     public void onCancelled(FirebaseError firebaseError) { 

     } 

    }); //here is your problem 
} 

}

+0

Danke, das habe ich versucht. Aber es scheint etwas mit dem Code zu tun, siehe die Bearbeitung meiner Frage. Danke noch einmal. – Joe