【发布时间】:2017-06-30 09:04:42
【问题描述】:
我得到了一个充满Measure 对象的ArrayList<MyClass>,我是从手机的加速度传感器得到的。这些对象有另一个 ArrayList,其中包含 150 个度量值。当我在调试时调查这个 Arraylist 时,它被正确填充。但是在我想用一个按钮事件来获取那个 ArrayList 之后,值已经改变了。里面的对象数量保持不变,但它总是一个相同的对象,以前不在 ArrayList 中。我希望,你能给我一点提示在这里做什么。太混乱了……
public class StartDesk extends AppCompatActivity implements SensorEventListener{
private ArrayList<SingleSwing> alSwingsCurSession;
private ArrayList<SingleAccValue> alSavedAccValues;
private AudioSensorClass asc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_desk);
...
alSavedAccValues = new ArrayList<>();
bRecording = false;
btnStart = (Button) findViewById(R.id.btnStart);
btnStart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
RecordButtonHandler();
}
});
}
private void RecordButtonHandler() {
if(!bRecording) {
alSwingsCurSession = new ArrayList<>();
...
}
else {
btnStart.setText("Start Recording");
if (alSwingsCurSession.size() > 0) {
...
}
bRecording = false;
}
}
...
private void SaveSwingINI(ArrayList<SingleAccValue> al_SavedAccValues) {
if(al_SavedAccValues.size()>=150) {
SingleSwing swing = new SingleSwing();
swing.setAl_MeasureData(al_SavedAccValues);
alSwingsCurSession.add(swing);
}
}
...
}
alSwingsCurSession 有其他值,当在按钮事件中调用它时,它会进入SaveSwingINI 方法。我的类中没有静态字段。
【问题讨论】:
-
我刚刚仔细检查了我的课程中没有静态字段
-
无法从此处提供的信息中真正看出。如果你 create a Minimal, Complete, and Verifiable example 会有很大帮助。
标签: java android android-studio arraylist