我是开发Android App的新手。我有一个带有ListView的MainActivity.Listview上的数据保存在Arraylist中。(我没有任何数据库).Listview项目有4个字段,如coursecode,coursetitle,courselevel当我点击Listview上的一个项目时,将启动一个新的活动(ShowDetailActivity)以查看当然的细节。在ShowDetailActivity上编辑EditViews是假的。在ShowDetailActivity我有一个选项菜单项(编辑)。当我单击编辑选项菜单项时,将启动一个新活动(EditCourseDetailActivity),当然用户将编辑详细信息。
EditCourseDetailActivity上特定课程的编辑细节必须转移到ShowDetailActivity然后转移到MainActivity
我不知道我能解释一下吗?
我该如何处理这种情况请帮帮我!!!!感谢您对高级
的评论MainActivity ---> ShowDetailActivity ---> EditCourseDetailActivity ---- | | MainActivity< ---- ShowDetailActivity< ---------------------------------
答案 0 :(得分:1)
对于ListView(MainActivity),您可以执行setOnItemClickListener。例如:
MainActivity.java
ListView list = (ListView) findViewById(R.id.yourlistview);
list.setOnItemClickListener(new AdapterView.onItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
// use position to find your values
// to go to ShowDetailsActivity, you have to use Intent
Intent detailScreen = new Intent(getApplicationContext(), ShowDetailActivity.class);
detailScreen.putExtra("position", position); // pass value if needed
detailScreen.putExtra("para2", para2);
startActivity(detailScreen);
}
});
DetailScreen.java
这是您从MainActivity收到的。
Intent i = getIntent();
int position = i.getIntExtra("position", 0);
然后单击“编辑”按钮时,使用意图转到下一个活动(EditCourseDetails)。
答案 1 :(得分:0)
看看这个topic。它与你的情况类似。
在您的情况下,我们的想法是通过Intent将数据发送到您的不同活动。修改后的数据将通过同一过程发回给活动。
我相信ArrayList中的对象必须是Serializable。
您将在以下链接中找到解释:
P.S。:使用startActivityForResult和onActivityResult获取Intent,如tiago7所述