我有一个活动,在特定条件下,它将一个整数值传递给包含 ListView 的活动。但是,我遇到了几个问题:
初始值为 0,当执行活动并满足条件时,传入另一个 0,而不是实际值。
ListView 每次从主活动运行时都会重置。我希望它保留以前运行的结果(直到用户点击 ListView 活动本身的重置按钮)。
**编辑 3. 我注意到我之前没有注意到的行为,即每次从主活动打开 ListView 活动时,都会向 ListView 添加另一个 0。
这是相关代码 -
Activity 将值传递给包含 ListView 的 Activity:
if(condition) {
textview.setText("String1");
Intent intent = new Intent(this, ListViewActivity.class);
intent.putExtra("numCounter", numCounter);
}
ListView 的活动:
ListView numListView;
ArrayAdapter<Integer> listAdapter;
static ArrayList<Integer> numArrayList = new ArrayList<Integer>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
Intent intent = getIntent();
int intentNum = intent.getIntExtra("numCounter", 0);
addNumArrayList(intentNum);
numListView = (ListView) findViewById(R.id.numberListView);
listAdapter = new ArrayAdapter<Integer>(this, R.layout.listview_row, numArrayList);
numListView.setAdapter(listAdapter);
}
// Keep ArrayList to size of 10, while keeping it sorted
// (displaying only the 10 lowest)
public static void addNumArrayList(int val) {
numArrayList.add(val);
Collections.sort(numArrayList);
if(numArrayList.size() > 10) {
for(int i = 10; i < numArrayList.size(); i++) {
numArrayList.remove(i);
}
}
}
我基本上想要它,以便只有其他活动或活动可以改变它,除非在 ListView 活动本身上点击重置按钮(只需从主活动打开活动应该什么都不做)。
我如何解决它?