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