Search code examples
androidandroid-intentandroid-activityandroid-fragmentsoptionmenu

Android listview item edit operation


I am new at developing Android App.I have a MainActivity that has a ListView.The data on Listview is hold in a Arraylist.(I dont have any DB).Listview items has 4 field such as coursecode,coursetitle,courselevel,coursedescription.When I clicked an item on Listview,a new activity(ShowDetailActivity) will be launced in order to view detail of course.The editable of the EditViews on ShowDetailActivity are false.On ShowDetailActivity I have an option menu item (Edit).When I clicked the Edit option menu item,a new activity(EditCourseDetailActivity) will be launched and the the user will be edit details of course.

Edited detail of the specific course on EditCourseDetailActivity must be transfer to ShowDetailActivity and then to MainActivity

I dont know I could explain?

How can I handle this situation please help me !!!! Thanks for your comment in advanced

MainActivity ---> ShowDetailActivity ---> EditCourseDetailActivity ---- | | MainActivity <----ShowDetailActivity <---------------------------------


Solution

  • For ListView (MainActivity), you can do setOnItemClickListener. For example:

    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

    This is how you receive from MainActivity.

    Intent i = getIntent();
    int position = i.getIntExtra("position", 0);
    

    Then when Edit button is clicked, use the intent to go to next activity (EditCourseDetails).