Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置复选标记不可见_Java_Android - Fatal编程技术网

Java 如何设置复选标记不可见

Java 如何设置复选标记不可见,java,android,Java,Android,我想在类代码而不是xml文件中隐藏复选框按钮中的复选标记。 因为我使用了两个背景,如果检查为真,则设置背景。。如果为false,则设置背景“checkbox.png” 公共类ListActivity扩展了活动{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list

我想在类代码而不是xml文件中隐藏复选框按钮中的复选标记。 因为我使用了两个背景,如果检查为真,则设置背景。。如果为false,则设置背景“checkbox.png”

公共类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);

  }
   }

您可能应该使用框架的常量,如

在drawable文件夹中将其另存为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>

签出代码…

和。无法理解您想要什么以及您拥有什么。抱歉:-(当我单击复选框按钮时,有蓝色复选标记。我只想隐藏此复选标记,因为我使用的背景不同请查看此链接()如果您在实现它时遇到问题,请返回此处并进行解释。无效。它是“全部隐藏方式”复选框,我认为此方法将起作用“abstract boolean isCheckable()返回项当前是否可以显示复选标记。”由于他正在尝试设置视图的背景,因此它仍然需要存在。我已放置:buttonView.setVisibility(2);但无效,,我想隐藏内部复选标记。2个问题:您的问题描述不太清楚。您应该真正使用命名常量(View.GONE,View.INVISIBLE)为清楚起见。我使用了View.GONE,但它隐藏了所有我的复选框我只想隐藏复选框中出现的复选标记否我想以编程方式使用它,因为我将使用for循环。为此,只需获取状态…如果(checkbox.ischecked()){//完成你的工作..}View.INVISIBLE它将隐藏所有我的复选框按钮:(我只想在我的复选按钮内隐藏复选标记。您可以更改复选框的状态,如下所示。复选框1。设置选中(true);您已在单击侦听器中完成代码。如果您单击复选框,它将更改复选框的状态。(选中或取消选中)
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);
        }
    }
});