簡単に行うには2つの方法があります。
最初の方法: クラスにグローバル変数を使用します。
String SubPos;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mAccVals = new Number3d();
Bundle extras = getIntent().getExtras();
SubPos = extras.getString("subposition1"); //note that I've deleted the 'String'
}
2n 方法: メソッドに変数を渡します。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mAccVals = new Number3d();
Bundle extras = getIntent().getExtras();
String SubPos = extras.getString("subposition1");
otherMethod(SubPos);
}
public void otherMethod(String s) {
//do stuff.
}
別のクラスでこの変数が必要な場合があると考えた場合は、この関数を追加して実行できます (文字列 SubPos をクラスでグローバルに設定します)。
String SubPos;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mAccVals = new Number3d();
Bundle extras = getIntent().getExtras();
SubPos = extras.getString("subposition1"); //note that I've deleted the 'String'
}
public String getSubPos() {
return SubPos;
}
このようにして、インスタンスを持つ他のクラスで instanceOfTheClass.getSubPos() を呼び出すことができます。