Android列表视图项目编辑操作

时间:2014-11-27 14:57:57

标签: android android-intent android-activity android-fragments optionmenu

我是开发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< ---------------------------------

2 个答案:

答案 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所述