2016-11-21 2 views
-4

Eigentlich habe ich Listenansicht, auf der Listenansicht berühren Ich bekomme ein Popup-Fenster der gleichen Liste. Jetzt möchte ich ein Kontrollkästchen hinzufügen. Wie kann ich das Kontrollkästchen unterhalb des Codes hinzufügen? Es wäre toll, wenn Sie mir helfen würden, Code zu ändern.Wie man das Kontrollkästchen zur Popup-Liste hinzufügt

Aktivität:

listView1.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 
    listView1.setOnTouchListener(new AdapterView.OnTouchListener() 
    { 

     @Override 
     public boolean onTouch (View v, MotionEvent event){ 
     if (event.getAction() == MotionEvent.ACTION_UP) { 


      dialog = new Dialog(PendingOrdersActitvity.this); 
      dialog.setContentView(R.layout.itembumping); 
      dialog.show(); 

      list1 = (ListView) dialog.findViewById(R.id.list1); 
      adapter = new CustomAdapter(PendingOrdersActitvity.this, itemsList1); 
      list1.setAdapter(adapter); 
      list1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 


       @Override 
       public boolean onItemLongClick(AdapterView<?> parent, View view, 
               int position, long id) { 

        for (int i = 0; i < itemsList1.size(); i++) { 
         if (i == position) { 
          view.setEnabled(false); 
          view.setClickable(false); 
          view.setBackgroundColor(Color.parseColor("#DCDBDB")); 
          adapter.notifyDataSetChanged(); 
          ItemsBean bean = new ItemsBean(); 
          bean.setInvNo(itemsList1.get(i).getInvNo()); 
          bean.setItemnNameDisplay(itemsList1.get(i).getItemnNameDisplay()); 
          bean.setLinenum(itemsList1.get(i).getLinenum()); 
          bean.setQuantityDisplay(itemsList1.get(i).getQuantityDisplay()); 
          bean.setProdnum(itemsList1.get(i).getProdnum()); 

          newListitems.add(bean); 

         } 
        } 
        insertintodatabase(newListitems); 

        newListitems.clear(); 

        return true; 
       } 
      } 
     } 
    } 
+0

Mögliches Duplikat von [AlertDialog mit Kontrollkästchen In Android] (http://StackOverflow.com/questions/16954196/alertdialog-with-Checkbox-in-android) – SaravInfern

+0

Sie müssen dieses Kontrollkästchen in Ihrer benutzerdefinierten Adapter-Layout-Datei hinzufügen, Fügen Sie dann einen booleschen Wert in Ihrer ItemsBean-Klasse hinzu, um das spezifische Element zu überprüfen, und dann den Wert aus dieser Bean-Klasse mithilfe der Position in Ihrer Adapterklasse abzurufen ... Sie können diesen Link beziehen: - http://stackoverflow.com/questions/11066846/android -get-checkbox-info-from-listview Oder verwenden Sie diese als Referenz: - https://android--code.blogspot.in/2015/08/android-alertdialog-multichoice.html – Bhavnik

+0

Eigentlich ist das Problem, ich Verwenden Sie den gleichen Adapter für Hauptliste und Popup-Liste, wenn ich Kontrollkästchen Adapter hinzufügen, dann wird es für die Hauptliste zu kommen – mallika

Antwort

0

Try this:

  1. hinzufügen Kontrollkästchen in CustomAdapter Layout-Datei.
  2. Klasse ändern CustomAdapter,

    a. Feld und Methode hinzufügen

    class CustomAdapter...{ 
        boolean mInDialog = false; 
        . 
        . 
        . 
        public void showCheckbox(boolean flag){ 
         mInDialog = true 
        } 
    } 
    

    b. Ändern getView(),

    CheckBox cb = (CheckBox) convertView.findViewById(R.id.checkbox); 
    if(mInDialog){ 
        cb.setVisibility(View.VISIBLE); 
    }else{ 
        cb.setVisibility(View.GONE); 
    } 
    
  3. Ändern Aktivität vor "list1.setAdapter (adpter)" hinzu:

    adapter.showCheckbox(true); 
    
  4. Wenn entlassen Dialog hinzufügen:

    adpater.showCheckbox(false); 
    adapter.notifyDataSetChanged(); 
    

Hoffe diese Hilfe!

+0

wenn ia dd Kontrolle-Kästchen zum Adapter wird es Hauptliste auch beeinflussen – mallika

Verwandte Themen