目前我正在开发一个android应用程序,但我遇到了一个我无法解决的问题。我有 2 个活动。在其中一个中,我将 ArrayList 定义为公共静态。此列表用作列表视图的内容。在其他活动中,我想编辑该特定列表的项目,或者删除它们。
问题:在我的三星 Galaxy S II 上运行良好(Android 版本 4.0.4),但在其他设备上,如 SGSIII(我认为是 4.1),同步该列表时出现问题。所以基本上如果第二个活动完成并返回第一个活动,所有更改似乎都已撤消......
这是第一个活动中listview的更新功能的代码;此方法无法识别更改:
private void updateList() {
String[] values = new String[hatCommandList.size()];
for(int i = 0; i < values.length;i++) {
values[i] = ((Command)hatCommandList.get(i)).getRealCommand();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
ListViewSentCommands.setAdapter(adapter);
}
如您所见,没有什么特别的。这里是我编辑“hatCommandList”的第二个活动的代码:
public void onClick(View v) {
SettingsActivity.hatCommandList.remove(position);
finish();
}
“位置”显然用于指向列表中的某个位置,它包含正确的值,我已经检查过了。
无论如何,我希望你能告诉我为什么它可以在某些设备上运行以及为什么它不能在某些设备上运行......
提前问候和感谢,蒂莫