-1

Ich habe einen Server mit einer Datenbank. In meiner Datenbank habe ich momentan 25 Artikel, aber ich werde Artikel hinzufügen und entfernen.OnItemClickListener, die mehr oder weniger Elemente haben kann

Ich habe die ListView in Java für die 25 Elemente arbeiten, indem Sie einfach einen Schalter n Fall Methode schreiben.

Aber wie könnte ich es schreiben, so dass als Elemente in meiner Datenbank hinzugefügt oder entfernt werden, fügt die zusätzlichen Fallelemente zu meinem auf ItemListener. Diese

ist, wie ich es im Moment, aber ich will nicht meine App jedes Mal, wenn ich ein neues Element hinzuzufügen, aktualisieren

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
        switch(i){ 
         case 0: 
          break; 
        } 
       } 
      }); 

bearbeiten

dies ist, wie ich das hinzufügen Elemente in die Liste Feuerbasis

mrootref = new Firebase("my firebaselink"); 
lv = (ListView)findViewById(R.id.lvnames); 

mrootref.child("Mydatabase name").addChildEventListener(new ChildEventListener() { 

    @Override 
    public void onChildAdded(DataSnapshot snapshot, String s) { 
     final ArrayAdapter<String> jlistAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1, webstreamsArray); 
     lv.setAdapter(jlistAdapter); 

     String streamname = snapshot.child("name").getValue(String.class); 
     jlistAdapter.notifyDataSetChanged(); 
     webstreamsArray.add(streamname); 
     lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
       switch(i){ 
        case 0: 
         break; 
       } 
      } 
     }); 
    } 
} 

bearbeiten

mit

unter ive enthalten einen Screenshot meiner Datenbankstruktur. Meine App ruft dann den Namensteil der Datenbank auf und füllt sie mit meiner Listenansicht. Wenn ein Artikel gelöscht wird, entfernt er den Artikel aus meiner Listenansicht. Ich möchte die „url“ Element verwenden, so dass, wenn der Name Einzelteil geklickt wird die URL Artikel

enter image description here

+2

eröffnet Warum verwenden Sie den Switch case –

+0

? Was würden Sie empfehlen? @NJ –

+0

Sie können Code zur Laufzeit nicht dynamisch hinzufügen. Alle Elemente in Ihrem Adapter erhalten genau das gleiche Ereignis. Sie brauchen keinen Schalter auf der Position –

Antwort

0

hier ist das, was ive kommen mit der Hilfe von euch

Urlname = snapshot.child("url").getValue(String.class); 
      jlistAdapter.notifyDataSetChanged(); 
      webstreamsArray.add(streamname); 
      urlList.add(Urlname); 
      lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 


       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 


        WebView webView = (WebView) findViewById(R.id.webView1); 
        webView.setVisibility(View.VISIBLE); 
        webView.getSettings().setJavaScriptEnabled(true); 
        webView.loadUrl(urlList.get(i)); 

       } 
      }); 
     } 
Verwandte Themen