Android Studio: 点击按钮将数据从 OneActivity 传递到 TwoActivity 并累加到 ListView 中
要实现这个功能,你可以按照以下步骤来编写代码:
- 在 OneActivity.java 界面中,创建一个按钮和一个 TextView 用于显示数据。当点击保存按钮时,将 TextView 的内容保存到 SharedPreferences 中。
public class OneActivity extends AppCompatActivity {
private TextView textView;
private Button saveButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
textView = findViewById(R.id.textView);
saveButton = findViewById(R.id.saveButton);
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String text = textView.getText().toString();
saveData(text);
Intent intent = new Intent(OneActivity.this, TwoActivity.class);
startActivity(intent);
}
});
}
private void saveData(String text) {
SharedPreferences sharedPreferences = getSharedPreferences('MyPrefs', MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString('text', text);
editor.apply();
}
}
- 在 TwoActivity.java 界面中,创建一个 ListView 用于显示保存的数据。在 onCreate 方法中,从 SharedPreferences 中获取之前保存的数据,并添加到 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);
loadData();
}
private void loadData() {
SharedPreferences sharedPreferences = getSharedPreferences('MyPrefs', MODE_PRIVATE);
String text = sharedPreferences.getString('text', '');
dataList.add(text);
adapter.notifyDataSetChanged();
}
}
这样,每次点击保存按钮后,OneActivity.java 界面的 TextView 数据都会保存到 TwoActivity.java 界面的 ListView 中,并且不会覆盖之前的数据。当退出程序再次进入 TwoActivity.java 界面时,可以看到之前保存的 ListView 记录。
原文地址: https://www.cveoy.top/t/topic/qs9a 著作权归作者所有。请勿转载和采集!