Android Studio:实现跨 Activity 数据累加保存到 ListView
要实现跨 Activity 数据累加保存到 ListView 的功能,你可以按照以下步骤编写代码:
- 在 OneActivity.java 中,获取 TextView 的数据,并将其保存到一个全局变量中。例如:
public class OneActivity extends AppCompatActivity {
private EditText editText;
private String textData;
// ...
public void onSaveButtonClick(View view) {
textData = editText.getText().toString();
Intent intent = new Intent(this, TwoActivity.class);
intent.putExtra('textData', textData);
startActivity(intent);
}
}
- 在 TwoActivity.java 中,创建一个 List 变量用于保存 ListView 的数据,并在 onCreate 方法中初始化它。然后在 onResume 方法中,将 OneActivity 传递过来的数据添加到 List 中,并更新 ListView 的适配器。例如:
public class TwoActivity extends AppCompatActivity {
private ListView listView;
private List<String> dataList;
private ArrayAdapter<String> adapter;
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
listView = findViewById(R.id.listView);
dataList = new ArrayList<>();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
listView.setAdapter(adapter);
}
@Override
protected void onResume() {
super.onResume();
if (getIntent().hasExtra('textData')) {
String textData = getIntent().getStringExtra('textData');
dataList.add(textData);
adapter.notifyDataSetChanged();
}
}
}
- 修改 OneActivity 中的 onSaveButtonClick 方法,将 textData 作为 Extra 数据传递给 TwoActivity。例如:
public void onSaveButtonClick(View view) {
textData = editText.getText().toString();
Intent intent = new Intent(this, TwoActivity.class);
intent.putExtra('textData', textData);
startActivity(intent);
}
这样,每次点击保存按钮后,TwoActivity 的 ListView 中都会显示之前保存的记录,并将新的记录累加。
原文地址: https://www.cveoy.top/t/topic/qs9A 著作权归作者所有。请勿转载和采集!