package com.Test.test001;
import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
public class MainActivity extends ActionBarActivity {
CheckBox cb;
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb=(CheckBox)findViewById(R.id.checkBox1);
bt=(Button)findViewById(R.id.button1);
bt.setClickable(false);
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton button, boolean isChecked) {
if(isChecked){
bt.setClickable(true);
}
}
});
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent=new Intent();
intent.setClass(MainActivity.this, SecActivity.class);
startActivity(intent);
}
});
}
}
将Button设置为clickable=“false”后,checkbox未选中中,点击button按钮,仍然起作用,说明设置的button不可点击没起作用;
原因:Button.setonclicklistener()后,Button的setClickable=true,所以这两条语句的先后顺序要正确,也就是说setClickable=false要在setOnClickListener();之后才有效!