private class ButtonAdapter extends ArrayAdapter<ButtonString> implements
   OnCheckedChangeListener {
  private List<ButtonString> items;
  ToggleButton bt;
  ToggleButton bt1;
  ToggleButton bt2;

  public ButtonAdapter(Context context, int textViewResourceId,
    List<ButtonString> items) {
   super(context, textViewResourceId, items);
   this.items = items;
  }

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

   View v = convertView;
   if (v == null) {
    LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = vi.inflate(R.layout.togglebtn, null);
    ButtonString a = items.get(position);
    a.getbtn();

    TextView tt = (TextView) v.findViewById(R.id.toggletext);
    bt = (ToggleButton) v.findViewById(R.id.togglebtnid);
    bt1 = (ToggleButton) v.findViewById(R.id.togglebtnid1);
    bt2 = (ToggleButton) v.findViewById(R.id.togglebtnid2);
    
    
    bt.setOnCheckedChangeListener(this);
    bt1.setOnCheckedChangeListener(this);
    bt2.setOnCheckedChangeListener(this);
    
    if (a.getbtn() == gAutolockScreen) {
     bt.setVisibility(0);
    }
    if (a.getbtn() == gCompass) {
     bt1.setVisibility(0);
    }
    if (a.getbtn() == gVibration)
     bt2.setVisibility(0);
    if (tt != null) {
     tt.setText(a.getName());
    }

    if (bt != null) {

    }
   }

   return v;

  }

  public void onCheckedChanged(CompoundButton buttonView,
    boolean isChecked) {
   // TODO Auto-generated method stub
   if (buttonView == bt) {
    Log.d("토글", "화면자동잠금");
   }
   if (buttonView==bt1) {
    Log.d("토글", "나침반");
   }
   if (buttonView==bt2) {
    Log.d("토글", "진동");
   }
   Log.d("이상하네",""+buttonView.getId());
   
   if(isChecked){
    buttonView.setBackgroundDrawable(getResources().getDrawable(R.drawable.arrow));
   }
   if(!isChecked){
    buttonView.setBackgroundDrawable(getResources().getDrawable(R.drawable.back_tile));
   }
  }

 }

 class ButtonString {
  String name;
  ToggleButton Tbtn;

  public ButtonString(String name, ToggleButton btn) {
   this.name = name;
   this.Tbtn = btn;
  }

  public String getName() {
   return name;
  }

  public ToggleButton getbtn() {
   return Tbtn;
  }

 }
}

 

초보라 코드가엉망입니다 ㅠㅠ

총 3개에 리스트중 우선 3개 토글다 감춰놨다나가

리스트를 부르면 그 맞는 포지션을 찾아서 토글버튼을 달았는데 change 리스너에서 if문이 bt2일때만 log가 찍힙니다..

이상하게도...이유좀 아시는 고수님. 좀 알려주세요.!