私のアプリには、Bluetoothのオンとオフを切り替えるボタンがあります。トグルボタンの定義をクラスの一番上に移動しonResume();
、アプリの外にnullpointerexceptionでクラッシュすると、コードの短いバージョンが表示されます。クラッシュ:
public class MainActivity extends Activity {
static final BluetoothAdapter myBluetooth = BluetoothAdapter.getDefaultAdapter();
final ToggleButton tglbtn = (ToggleButton)findViewById(R.id.ToggleButton01);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(myBluetooth == null){
setContentView(R.layout.notsupported);
}
else{
setContentView(R.layout.supported);
}
}
@Override
public void onResume()
{
super.onResume();
tglbtn.setChecked(myBluetooth.isEnabled());
tglbtn.setOnClickListener(new OnClickListener(){
public void onClick(View v) { .......}
}
}
}
にfinal ToggleButton tglbtn = (ToggleButton)findViewById(R.id.ToggleButton01);
戻るonResume()
と、アプリは正常に動作し、クラッシュしません。誰かがこれが発生する理由を説明できますか?