Question: I originally posted a question to **merge 3 workbooks** but received nothing but criticism for posting the question.

Nevertheless, I have found the solution to my problem and I am posting it here *ALONG* with my original query for future references.

**Scenario**:

1) Everyday there are **3 csv** files exported; Each of them come from the **3 tools** that manage employee records

2) These **3 csv** files contain the **TERMINATIONS** of users who's access need to be revoked **on that day**

3) The **csv** files are named: 

* **Date\_Terminations**
* **Date\_Terminations\_Non\_HR**
* **Date\_Terminations\_Tool**

I have already got the script that copies these files into a new folder and renames them without the date:

* **Terminations**
* **Terminations Non HR**
* **Terminations Tool**

4) Each **csv** file contains the records for employees who's access needed to be revoked for the past **6 months**; The first thing I need to do is **sort/filter the current days date** to the top of the worksheet

5) Then I need to **copy the rows that contain the current date into** the **Terminations Template** file

In a nutshell, I require code that will identify the columns in each workbook by the current day and copy those adjacent rows to the **Terminations\_Template** workbook.

Answer: 
Implement `ViewPager.IOnPageChangeListener` in your `xxxxActivity`( which contains the `ViewPager`). And use [addOnPageChangeListener](https://developer.android.com/reference/android/support/v4/view/ViewPager.html#addOnPageChangeListener(android.support.v4.view.ViewPager.OnPageChangeListener))( [setOnPageChangeListener](https://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOnPageChangeListener(android.support.v4.view.ViewPager.OnPageChangeListener)) was deprecated in API level 24.1.0.) to add listener on your `ViewPager`.

In the `OnPageSelected` method:

```
public void OnPageSelected(int position)
{

    if (position == 0)
    {
        // because the keyboard has been forced to hide in graphic fragment,
        // when you back to edittext fragment, you need force to show it.
        EditTextFragment.showKeyboard();
    }
    else if (position == 1)
    {
        //In your graphic fragment, hide the keyboard.
            var im = ((InputMethodManager)GetSystemService(Android.Content.Context.InputMethodService));

            if (CurrentFocus!= null)
            {
                im.HideSoftInputFromWindow(CurrentFocus.WindowToken, HideSoftInputFlags.None);
            }
    }
}

```

`EditTextFragment.showKeyboard();` method:

```
    if (editText.RequestFocus())
    {
        InputMethodManager imm = (InputMethodManager)Activity.GetSystemService(Android.Content.Context.InputMethodService);
        imm.ShowSoftInput(editText,ShowFlags.Implicit );
    }

```
You could use a static method for this in a sort of Utils class inside your Xamarin.Android project. Might look kind of like this:

```
public static class Utils
{
    public static void HideKeyboard(Activity context)
    {
        var imm = (InputMethodManager)context.GetSystemService(Context.InputMethodService);
        int sdk = (int)Build.VERSION.SdkInt;

        if (sdk < 11)
        {
            imm.HideSoftInputFromWindow(context.Window.CurrentFocus.WindowToken, 0);
        }
        else
        {
           imm.HideSoftInputFromWindow(context.CurrentFocus.WindowToken, HideSoftInputFlags.NotAlways);
        }
    }
}

```

Take a look at [GetSystemService(java.lang.String)](https://developer.android.com/reference/android/content/Context.html#getSystemService(java.lang.String)) and the [InputMethodManager](https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html) class.