public void onTextChanged(CharSequence s, int start, int before, int count) {
   try {
     if (mLatitude.hasFocus() || mLongitude.hasFocus()) {
       locationChanged(
           Double.parseDouble(mLatitude.getText().toString()),
           Double.parseDouble(mLongitude.getText().toString()));
     }
   } catch (Exception ex) {
     Log.w("IncidentAdd", "Exception TextWatcher", ex);
   }
 }
 /*
  * Implementation of MapUserLocation abstract methods
  */
 protected void locationChanged(double latitude, double longitude) {
   updateMarker(latitude, longitude, true);
   if (!mLatitude.hasFocus() && !mLongitude.hasFocus()) {
     mLatitude.setText(String.valueOf(latitude));
     mLongitude.setText(String.valueOf(longitude));
   }
   if (reverseGeocoderTask == null || !reverseGeocoderTask.isExecuting()) {
     reverseGeocoderTask = new ReverseGeocoderTask(this);
     reverseGeocoderTask.execute(latitude, longitude);
   }
 }
 @Override
 public void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   outState.putParcelable(BUNDLE_MODEL, mModel);
   if (mEndCount.hasFocus()) {
     outState.putBoolean(BUNDLE_END_COUNT_HAS_FOCUS, true);
   }
 }
  public void onClick(View v) {
    validateInput(mText);
    if (!mText.hasFocus()) mText.requestFocus();

    // now perform the increment/decrement
    if (R.id.increment == v.getId()) {
      changeCurrent(mCurrent + 1);
    } else if (R.id.decrement == v.getId()) {
      changeCurrent(mCurrent - 1);
    }
  }
 public void onBackPressed()
 {
     if (!TextUtils.isEmpty(mQuery.getText().toString()) || mQuery.hasFocus())
     {
         clearSearch();
     } else
     if (mViewPager.getCurrentItem() > 0)
     {
         mViewPager.setCurrentItem(mViewPager.getCurrentItem() - 1);
         return;
     }
 }
 @Override
 protected void requestFocusForFirstEditField() {
   if (mFieldEditTexts != null && mFieldEditTexts.length != 0) {
     EditText firstField = null;
     boolean anyFieldHasFocus = false;
     for (EditText editText : mFieldEditTexts) {
       if (firstField == null && editText.getVisibility() == View.VISIBLE) {
         firstField = editText;
       }
       if (editText.hasFocus()) {
         anyFieldHasFocus = true;
         break;
       }
     }
     if (!anyFieldHasFocus && firstField != null) {
       firstField.requestFocus();
     }
   }
 }