2013-03-04 3 views
-1

Я хочу скрыть галочку в кнопке флажка в коде класса, а не в файле xml. Потому что я использую два фона, если проверяется истинный набор фоновых .. если ложный набор фоновых «checkbox.png»как установить checkmark invisible

общественный класс ListActivity расширяет активность {

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list); 


    AbsoluteLayout ff = (AbsoluteLayout) this.findViewById(R.id.AbsoluteLayout1); 

    ScrollView myScrollView = (ScrollView) findViewById(R.id.scrollView1); 
    TableLayout tl =(TableLayout) findViewById(R.id.h103); 
    TableRow tr = (TableRow) findViewById(R.id.TableRow18); 
    CheckBox cb = (CheckBox) findViewById(R.id.CheckBox18); 
    TextView tv = (TextView) findViewById(R.id.TextView34); 





// ScrollView myScrollView1 = new ScrollView(this); 
    TableLayout tl1 =new TableLayout(this); 
    TableRow tr1 = new TableRow(this); 
    final CheckBox buttonView = new CheckBox(this) ; 
    TextView tv1 = new TextView(this); 

    /*myScrollView.getLayoutParams(); 
    ViewGroup.LayoutParams iv_params_b = myScrollView1.getLayoutParams(); 
    myScrollView1.setLayoutParams(iv_params_b);*/ 


    //buttonView.setVisibility(1); 
    buttonView.setBackground(getResources().getDrawable(R.drawable.checkbox)); 
    //buttonView.setVisibility(View.GONE); 
    buttonView.setFocusable(false); 

    buttonView.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 


      if(((CheckBox) v).isChecked()) 
      {   

       //buttonView.setChecked(false); 
       buttonView.setBackground(getResources().getDrawable(R.drawable.star)); 

      }else 
      { 
       //buttonView.setChecked(true); 
       buttonView.setBackground(getResources().getDrawable(R.drawable.checkbox)); 

      } 

     } 
    }); 


    /* if(isChecked) 
     {    
      buttonView.setBackground(getResources().getDrawable(R.drawable.star)); 
     }else 
     { 
      buttonView.setBackground(getResources().getDrawable(R.drawable.checkbox)); 
     } */ 











    ViewGroup.LayoutParams iv_params_b = tl.getLayoutParams(); 
    tl1.setLayoutParams(iv_params_b); 


    ViewGroup.LayoutParams iv_params_b1 = tr.getLayoutParams(); 
    tr1.setLayoutParams(iv_params_b1); 


    ViewGroup.LayoutParams iv_params_b2 = cb.getLayoutParams(); 
    buttonView.setLayoutParams(iv_params_b2); 


    ViewGroup.LayoutParams iv_params_b3 = tv.getLayoutParams(); 
    tv1.setLayoutParams(iv_params_b3); 

    tl.addView(tr1); 
    tr1.addView(buttonView); 

    } 
    } 
+0

http://learningnerd.wordpress.com/2006/09/06/english-grammar-types-of-phrases/ и http://www.lel.ed.ac.uk/grammar/overview.html. Не мог понять, чего вы хотите и что у вас есть. Извините :-( – g00dy

+0

, когда я нажал кнопку «Вкл.», Появляется синяя галочка. Я хочу скрыть эту галочку, потому что я использую другой фон. – user1714553

+0

См. Эту ссылку (http://developer.android.com/reference/ android/view/View.html # INVISIBLE), и если у вас есть проблемы с его реализацией, вернитесь сюда и объясните. – g00dy

ответ

0

Вы, вероятно, следует использовать константы фреймворку, например View.Gone

+0

Поскольку он пытается установить фон представления, он все равно должен быть там. – Geobits

+0

Я поставил: buttonView.setVisibility (2), но не эффективен, я хочу скрыть внутреннюю checkMark. – user1714553

+0

2 проблемы: описание вашей проблемы не так уж и понятно. Вы действительно должны использовать именованные константы (View.GO NE, View.INVISIBLE) для ясности. – DigCamara

0

Сохраните это как xml в папке с возможностью переноса.

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:state_checked="true" android:state_focused="true" 
    android:drawable="@drawable/checked"/> 
    <item 
    android:state_checked="false" android:state_focused="false" 
    android:drawable="@drawable/notchecked" 
    /> 
</selector> 

и установить это в качестве флажка andriod:button="@drawable/yourxmlfile.

The вам не нужно изменить образ программно.

Надеюсь, это вам поможет.

checkbox.setVisibility (View.INVISIBLE) Это ответ, о котором вы просили.

EDIT

final CheckBox checkBox1=new CheckBox(MainActivity.this); 

checkBox1.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton paramCompoundButton, 
      boolean paramBoolean) { 
     // TODO Auto-generated method stub 

     if (paramBoolean) { 

      checkBox1.setButtonDrawable(R.drawable.ic_launcher); 
      //here you can change 
     } 
     else 
     { 
      checkBox1.setBackgroundColor(Color.BLUE); 
     } 
    } 
}); 

ЗАКАНЧИВАТЬ код ...

+0

нет. Я хочу использовать его программно, потому что я буду использовать для цикла. – user1714553

+0

для этого просто получите статус в покое ... if (checkbox.ischecked()) {// делаем ваши вещи ..} – itsrajesh4uguys

+0

View.INVISIBLE он скроет мою мою кнопку флажка :(Я хочу только скрыть контрольную отметку внутри моя контрольная кнопка – user1714553