我有一个回收站视图,从此回收站视图onclick一项,它转到了另一个活动,并传递了回收站视图的标题和注释。在该活动中,我可以编辑标题,但是如何将版本发送回回收者视图?
我应该重写onStop并在其中放置一种方法来传递数据吗?但是如何传递这些数据?我是故意的还是有更好的方法来传递具有良好性能的数据?然后我应该打电话给notifyitemchanged吗?
我非常感谢您可以提供的任何帮助或建议
编辑:一些代码:
我如何传递数据
fun AnotherActivityOpen(coisa: ClasseP) {
val bundle = Bundle()
bundle.putString("nome", coisa.nome)
bundle.putString("notas", coisa.notas)
val intent = Intent(this, AnotherActivity::class.java)
intent.putExtras(bundle)
this.startActivity(intent)
}
编辑2:数据在适配器的列表中,但我也将其保存在sqlite数据库中。
编辑3:更多代码,该应用现在非常大,请输入正确的代码对吧?
class AnotherActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_another)
titulo.setText(intent.getStringExtra("nome"))
notas.setText(intent.getStringExtra("notas"))
答案 0 :(得分:0)
创建OnItemChangeListner
界面:
public interface OnItemChangeListner{
public void onItemChanged(int position, String newTitle, String newNote);
}
假设第一个活动包含一个recyclerView和一个存储项目的数组。
FirstActivity.java
class FirstActivity extends Activity implements OnItemChangeListner{
RecyclerView rcvList;
ArrayList<Item> items;
YourRecyclerView adapter;
//...some methods
@Override
public void onItemChanged(int position, String newTitle, String newNote){
items.get(position).setTitle(newTitle);
items.get(position).setNote(newNote);
adapter.notifyDataSetChanged();
}
}
SecondActivity.java
class public SecondActivity extends Activity{
OnItemChangeListner listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
CommonModelClass commonModelClass = CommonModelClass.getSingletonObject();
Activity firstActivity= commonModelClass.getbaseActivity();;
listener = (OnItemChangeListener)firstActivity;
submitButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view){
listener.onItemChanged(position,newTitle,newNote);
}
});
}
}
什么是CommonModelClass ???请查看以下答案: https://stackoverflow.com/a/21773074/8531215