我正在使用 bundle 获取变量,但它没有更新
I am getting variables with bundle but its not updating
我正在尝试开发计步器。我得到了传感器的步骤,但我需要将它们发送到片段。为此我使用了一个包。 Steps 变量正在传递给片段,但它只获得第一个值。第一个值为零,我在创建变量时给出了该值。这个值正在更新,我在 stepsTextview 上看到了。但捆绑不是。当传感器改变时,我如何获得更新的变量?
Activity代码:
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor == stepCounter){
stepCount = (int) sensorEvent.values[0];
textView.setText(String.valueOf(stepCount));
CountStepFragment fragment = new CountStepFragment();
Bundle bundle = new Bundle();
bundle.putInt("Adım", stepCount);
fragment.setArguments(bundle);
}
}
片段代码:
Bundle bundle = this.getArguments();
if (bundle != null) {
myInt = bundle.getInt("Adım",0);
Log.i("sda",String.valueOf(myInt));
}
你在这里做的是传递那个变量一次
Bundle bundle = new Bundle();
bundle.putInt("Adım", stepCount);
fragment.setArguments(bundle);
只有当您创建片段
时才会发生这种情况
为了在您的片段中实现这一点,您必须找到一种方法在实际片段中实现此代码:
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor == stepCounter){
stepCount = (int) sensorEvent.values[0];
//now use stepCount to update your fragment
}
}
我正在尝试开发计步器。我得到了传感器的步骤,但我需要将它们发送到片段。为此我使用了一个包。 Steps 变量正在传递给片段,但它只获得第一个值。第一个值为零,我在创建变量时给出了该值。这个值正在更新,我在 stepsTextview 上看到了。但捆绑不是。当传感器改变时,我如何获得更新的变量?
Activity代码:
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor == stepCounter){
stepCount = (int) sensorEvent.values[0];
textView.setText(String.valueOf(stepCount));
CountStepFragment fragment = new CountStepFragment();
Bundle bundle = new Bundle();
bundle.putInt("Adım", stepCount);
fragment.setArguments(bundle);
}
}
片段代码:
Bundle bundle = this.getArguments();
if (bundle != null) {
myInt = bundle.getInt("Adım",0);
Log.i("sda",String.valueOf(myInt));
}
你在这里做的是传递那个变量一次
Bundle bundle = new Bundle();
bundle.putInt("Adım", stepCount);
fragment.setArguments(bundle);
只有当您创建片段
时才会发生这种情况为了在您的片段中实现这一点,您必须找到一种方法在实际片段中实现此代码:
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if (sensorEvent.sensor == stepCounter){
stepCount = (int) sensorEvent.values[0];
//now use stepCount to update your fragment
}
}