2016-11-11 69 views
-4

如何通過該標記將父列表項標記爲子列表如果我選擇子項必須禁用父列表項。請幫助我新的android。如何將父列表項標記到子列表中

活動:

這是我的活動在這裏我對父列表項單擊我會與孩子列表對話框。

listView1.setAdapter(adapter); 
    adapter.notifyDataSetChanged(); 
    listView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 

     @Override 
     public boolean onItemLongClick(AdapterView<?> parent, View view, 
             int position, long id) { 
      // TODO Auto-generated method stub 
      newListitems2.clear(); 
      newListitems2.addAll(itemsList1); 

      // ArrayList newListitems2 = new ArrayList(); 
      //newListitems2.add(itemsList1); 
      dialog = new Dialog(PendingOrdersActitvity.this); 
      dialog.setContentView(R.layout.itembumping); 
      dialog.show(); 

      listView1.setTag(position); 
      list1 = (ListView) dialog.findViewById(R.id.list1); 

      ItemBumpingAdapter adapter2 = new ItemBumpingAdapter(PendingOrdersActitvity.this, newListitems2); 
      list1.setAdapter(adapter2); 


      Button okButton = (Button) dialog.findViewById(R.id.ok1); 
      okButton.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 

        dialog.dismiss(); 

       } 
      }); 
      Button cancelButton = (Button) dialog.findViewById(R.id.Cancel1); 
      cancelButton.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        dialog.dismiss(); 
       } 


      }); 
      return true; 

     } 
    }); 

父列表適配器:

其中父列表負載

兒童適配器:

public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder; 
    String item = null, qty = null; 
    if (convertView == null) { 
     holder = new ViewHolder(); 
     convertView = inflator.inflate(R.layout.itembumpingadapter, null); 
     holder.qty = (TextView) convertView.findViewById(R.id.qty); 
     holder.name = (TextView) convertView.findViewById(R.id.item); 
     holder.childText = (TextView) convertView 
       .findViewById(R.id.childitem); 
     holder.qtyChild = (TextView) convertView 
       .findViewById(R.id.qtychild); 
     holder.checkbox = (CheckBox) convertView.findViewById(R.id.chckbox1); 
     convertView.setTag(holder); 


    } else { 

     holder = (ViewHolder) convertView.getTag(); 
    } 
    parentobjid = newListitems.get(position).getParentobjectid(); 
    if (!parentobjid.isEmpty()) { 
     holder.name.setText(" " + newListitems.get(position).getItemnNameDisplay()); 
     holder.name.setTextColor(Color.parseColor("#CC0000")); 
     holder.qty.setText("  " + String.valueOf(newListitems.get(position) 
       .getQuantityDisplay())); 
     holder.qty.setTextColor(Color.parseColor("#CC0000")); 
    } else { 

     holder.name.setText(newListitems.get(position).getItemnNameDisplay()); 
     holder.qty.setText(String.valueOf(newListitems.get(position) 
       .getQuantityDisplay())); 
     holder.name.setTextColor(Color.parseColor("#FFFFFF")); 
     holder.qty.setTextColor(Color.parseColor("#FFFFFF")); 
     holder.checkbox.setChecked(false); 

     holder.checkbox.setTag(position); 

     holder.checkbox.setOnClickListener(new OnClickListener() { 


      @Override 
      public void onClick(View v) { 

       int pos = (Integer) v.getTag(); 
       newListitems.get(pos).setChecked(!newListitems.get(pos).isChecked()); 

      } 

     }); 
     if (newListitems.get(position).isChecked()) { 
      holder.name.setEnabled(true); 
      holder.name.setBackgroundColor(Color.parseColor("#DCDBDB")); 


     } else { 
      holder.name.setEnabled(false); 
     } 


    } 
    return convertView; 
} 
+0

找到孩子的父母並將其禁用 – mismanc

+0

我的問題是,只有通過單擊子元\ – mallika

+0

才能找到父母,所以我怎麼才能理解您使用這個問題的小工具。你看現在爲什麼你得到downvotes?..看孩子的DNA或編輯的問題,並提供更多的信息 – mismanc

回答

0

您應該使用ExpandableListView,如果你有一個孩子列表父列表。如果您不熟悉它,請檢查this link以瞭解更多信息。

點擊時有由ExpandableListView它提供了一個OnChildClickListener提供給你,孩子的地位和家長的位置:

// Listview on child click listener 
expListView.setOnChildClickListener(new OnChildClickListener() { 

     @Override 
     public boolean onChildClick(ExpandableListView parent, View v, 
       int groupPosition, int childPosition, long id) { 
      // TODO Auto-generated method stub 
      Toast.makeText(
        getApplicationContext(), 
        listDataHeader.get(groupPosition) 
          + " : " 
          + listDataChild.get(
            listDataHeader.get(groupPosition)).get(
            childPosition), Toast.LENGTH_SHORT) 
        .show(); 
      return false; 
     } 
    }); 

希望這有助於!

+0

我會提供的代碼將üplkease修改iit – mallika

+0

肯定!讓我先看看代碼。 –

+0

我會用代碼編輯問題,或者如果你願意我會郵寄你的 – mallika

相關問題