我有两个活动:MainActivity和ContentActivity。
MainActivity(在1个ListView上包含“标题”和“内容”从ContentActivity获取数据)
当我单击ListView中的一项时,ContentActivity上将显示“标题”和“内容”。然后单击保存按钮,然后保存数据。
但是当我单击ListView中位置2处的项目时,位置1处的项目的“内容”发生了变化。
那么,如何解决以上问题?
这是我的代码:
MainActivity:
ArrayList<String> arrayListNote;
ArrayAdapter arrayAdapter
Note _note;
String _content;
listViewNote.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String title = arrayListNote.get(position);
String content = _content;
Intent intent = new Intent(MainActivity.this, ContentActivity.class);
intent.putExtra("title", title);
intent.putExtra("content", content);
startActivity(intent);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
_note = (Note) data.getSerializableExtra("noteContent"); // noteContent from ContentActivity
_content = _note.getContent(); // getContent() in Note.java class
arrayListNote.add(_note.getTitle()); // getTitle() in Note.java class
arrayAdapter.notifyDataSetChanged();
}
super.onActivityResult(requestCode, resultCode, data);
}
ContentActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_content);
Intent intent = getIntent();
edtTitle.setText(intent.getStringExtra("title"));
edtContent.setText(intent.getStringExtra("content"));
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetContent();
}
});
}
private void SetContent() {
String title= edtTitle.getText().toString();
String content= edtContent.getText().toString();
Note _note = new Note(title, content);
Intent intent = new Intent();
intent.putExtra("noteContent", _note);
setResult(RESULT_OK, intent);
finish();
}