android開發裏跳過的坑——button不響應點擊事件
阿新 • • 發佈:2017-05-20
一個 不響應 color 事件 short ces andro generate lis testButton = (Button) this.findViewById(R.id.button_test);
testButton.setOnClickListener(this);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
setContentView(R.layout.activity_main);
} public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button_test:
Toast.makeText(this, "button click", Toast.LENGTH_SHORT).show();
break;
昨天遇到一個頭疼的問題,在手機上按鈕事件都很正常,但是在平板上(橫屏顯示的狀態),button點擊事件不響應,代碼簡化如下:
public class Test extends Activity implements OnClickListener{
private Button testButton = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
testButton.setOnClickListener(this);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
setContentView(R.layout.activity_main);
}
@Override
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button_test:
Toast.makeText(this, "button click", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
瞧見紅色的部分了嗎?因為橫屏時重新加載了布局,卻沒有重新初始化各個控件,所以,相當於沒有註冊事件,那麽點擊也就無效了
android開發裏跳過的坑——button不響應點擊事件