2016-11-11 97 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

相关问题