-1

私はデータベースを持つサーバーを持っています。私のデータベースには現在25のアイテムがありますが、アイテムを追加して削除します。多かれ少なかれアイテムを持つことができるOnItemClickListener

私はスイッチのnケースメソッドを記述するだけで、javaのListViewを25個のアイテムに使用しています。

しかし、どうすれば私のデータベースの項目が追加または削除されるので、余分なケース項目をItemListenerに追加することができますか?

これは私が、現時点ではそれを持っている方法ですが、私は私のアプリ私は

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

新しい項目を追加するたびに更新する必要はありません編集

これは私が追加する方法ですfirebase

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; 
       } 
      } 
     }); 
    } 
} 

Editを使用して、リストに項目

以下に、私のデータベース構造のスクリーンショットが含まれています。私のアプリケーションは、データベースの名前部分を呼び出して、リストビューに取り込みます。アイテムが削除された場合、アイテムはリストビューから削除されます。私は名前の項目がクリックされたとき、それはここにURL項目に

enter image description here

+2

の助けから思い付くものですなぜスイッチケースを使用していますか –

+0

何をお勧めしますか?NJ –

+0

実行時にコードを動的に追加することはできません。あなたのアダプターのすべてのアイテムは、まったく同じイベントを受信する予定です。あなたは位置にスイッチを必要としません –

答えて

0

を開くように「URL」アイテムを使用したいIVEは君たち

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)); 

       } 
      }); 
     } 
関連する問題