Example usage for android.text TextWatcher TextWatcher

List of usage examples for android.text TextWatcher TextWatcher

Introduction

In this page you can find the example usage for android.text TextWatcher TextWatcher.

Prototype

TextWatcher

Source Link

Usage

From source file:com.bangalore.barcamp.activity.ShareActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.share_screen);
    mDrawerToggle = BCBFragmentUtils.setupActionBar(this, "Share");

    // BCBUtils.createActionBarOnActivity(this);
    // BCBUtils.addNavigationActions(this);
    ((EditText) findViewById(R.id.editText1)).addTextChangedListener(new TextWatcher() {

        @Override/* w  ww.j  a v a2s  .com*/
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            ((TextView) findViewById(R.id.charsLeftTextView)).setText("Chars left: " + (140 - s.length() - 7));
        }
    });
    if (getIntent().hasExtra(SHARE_STRING)) {
        ((EditText) findViewById(R.id.editText1)).setText(getIntent().getStringExtra(SHARE_STRING));
    }
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    final PackageManager pm = getPackageManager();
    final Spinner spinner = (Spinner) findViewById(R.id.shareTypeSpinner);
    ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this,
            android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    final List<ResolveInfo> matches = pm.queryIntentActivities(intent, 0);
    String selectedItem = BCBSharedPrefUtils.getShareSettings(getApplicationContext());
    int selectedPos = -1;
    for (ResolveInfo info : matches) {
        adapter.add(info.loadLabel(pm));
        if (selectedItem.equals(info.loadLabel(pm))) {
            selectedPos = matches.indexOf(info);
        }
    }
    spinner.setAdapter(adapter);

    if (selectedPos != -1) {
        spinner.setSelected(true);
        spinner.setSelection(selectedPos);
    }
    ((TextView) findViewById(R.id.charsLeftTextView)).setText("Chars left: 140");
    ((Button) findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            int appSelectedPos = spinner.getSelectedItemPosition();
            ResolveInfo info = matches.get(appSelectedPos);
            intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);

            BCBSharedPrefUtils.setShareSettings(getApplicationContext(), (String) info.loadLabel(pm));
            intent.putExtra(Intent.EXTRA_TEXT,
                    ((EditText) findViewById(R.id.editText1)).getText().toString() + " #barcampblr");
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            startActivity(intent);
            finish();

        }
    });

    BCBFragmentUtils.addNavigationActions(this);
    supportInvalidateOptionsMenu();
    Tracker t = ((BarcampBangalore) getApplication()).getTracker();

    // Set screen name.
    t.setScreenName(this.getClass().getName());

    // Send a screen view.
    t.send(new HitBuilders.AppViewBuilder().build());

}

From source file:com.springsource.greenhouse.events.sessions.EventSessionRatingActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.event_session_rating);

    textViewCount = (TextView) this.findViewById(R.id.event_session_rating_count);
    textWatcher = new TextWatcher() {
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }/*from www.j  a  v  a  2s.c  o m*/

        public void onTextChanged(CharSequence s, int start, int before, int count) {
            textViewCount.setText(String.valueOf(MAX_LENGTH - s.length()));
        }

        public void afterTextChanged(Editable s) {
        }
    };

    final EditText editText = (EditText) findViewById(R.id.event_session_rating_text);
    editText.addTextChangedListener(textWatcher);

    final Button submitButton = (Button) findViewById(R.id.event_session_rating_submit);
    submitButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // hide the soft keypad
            InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(
                    Context.INPUT_METHOD_SERVICE);
            EditText editText = (EditText) findViewById(R.id.event_session_rating_text);
            inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), 0);
            submitRating();
        }
    });

    final Button selectStartButton = (Button) findViewById(R.id.event_session_rating_select_star);
    selectStartButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showSelectStarRatingDialog();
        }
    });
}

From source file:com.ws.wsme.openapi.WBInviteAPIActivity.java

/**
 * @see {@link Activity#onCreate}/*  w  ww.  ja v a 2  s .com*/
 */
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(com.ws.wsme.R.layout.activity_open_api_invite);

    mEditText = (EditText) findViewById(com.ws.wsme.R.id.friend_uid);
    mEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
    mEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            mInviteButton.setEnabled(!(0 == count));
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void afterTextChanged(Editable s) {
        }
    });

    // 
    mInviteButton = (Button) findViewById(com.ws.wsme.R.id.invite_button);
    mInviteButton.setEnabled(false);
    mInviteButton.setOnClickListener(this);
}

From source file:dk.moerks.ratebeermobile.Rate.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.rate);/* w  w w  .  j  av a  2s  . co  m*/

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        beername = extras.getString("BEERNAME");
        beerid = extras.getString("BEERID");
    }

    rateCharleftText = (TextView) findViewById(R.id.rate_label_charleft);
    rateCharleftText.setText(getText(R.string.rate_charleft) + " 75");
    EditText rateComment = (EditText) findViewById(R.id.rate_value_comments);
    rateComment.addTextChangedListener(new TextWatcher() {
        public void afterTextChanged(Editable s) {
        }

        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        public void onTextChanged(CharSequence s, int start, int before, int count) {
            int charNumber = s.length();
            int resultNumber = 75 - charNumber;
            if (resultNumber > 0) {
                rateCharleftText.setText(getText(R.string.rate_charleft) + " " + resultNumber);
            } else {
                rateCharleftText.setText("");
            }
        }
    });

    TextView beernameText = (TextView) findViewById(R.id.rate_label_beername);
    beernameText.setText(beername);

    Button rateButton = (Button) findViewById(R.id.rate_button);
    rateButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            EditText comment = (EditText) findViewById(R.id.rate_value_comments);
            final String commentString = comment.getText().toString();

            if (commentString.length() > 74) {

                Spinner aromaText = (Spinner) findViewById(R.id.rate_value_aroma);
                Spinner appearanceText = (Spinner) findViewById(R.id.rate_value_appearance);
                Spinner flavorText = (Spinner) findViewById(R.id.rate_value_flavor);
                Spinner palateText = (Spinner) findViewById(R.id.rate_value_palate);
                Spinner overallText = (Spinner) findViewById(R.id.rate_value_overall);

                final String aromaString = (String) aromaText.getSelectedItem();
                final String appearanceString = (String) appearanceText.getSelectedItem();
                final String flavorString = (String) flavorText.getSelectedItem();
                final String palateString = (String) palateText.getSelectedItem();
                final String overallString = (String) overallText.getSelectedItem();
                String totalScore = calculateTotalScore(aromaString, appearanceString, flavorString,
                        palateString, overallString);

                List<NameValuePair> parameters = new ArrayList<NameValuePair>();
                parameters.add(new BasicNameValuePair("BeerID", beerid));
                parameters.add(new BasicNameValuePair("aroma", aromaString));
                parameters.add(new BasicNameValuePair("appearance", appearanceString));
                parameters.add(new BasicNameValuePair("flavor", flavorString));
                parameters.add(new BasicNameValuePair("palate", palateString));
                parameters.add(new BasicNameValuePair("overall", overallString));
                parameters.add(new BasicNameValuePair("totalscore", totalScore));
                parameters.add(new BasicNameValuePair("Comments", commentString));

                new SaveRatingTask(Rate.this).execute(parameters.toArray(new NameValuePair[] {}));

                SharedPreferences prefs = getSharedPreferences(Settings.PREFERENCETAG, 0);
                if (prefs.getBoolean("rb_twitter_ratings", false)) {
                    new PostTwitterStatusTask(Rate.this).execute(buildTwitterMessage(totalScore));
                }

                finish();

            } else {
                Toast.makeText(Rate.this, R.string.toast_minimum_length, Toast.LENGTH_LONG).show();
            }
        }

        private String buildTwitterMessage(String score) {
            return getString(R.string.twitter_rating_message, beername, score, getUserId());
        }

        private String calculateTotalScore(String aromaString, String appearanceString, String flavorString,
                String palateString, String overallString) {
            int aroma = Integer.parseInt(aromaString);
            int appearance = Integer.parseInt(appearanceString);
            int flavor = Integer.parseInt(flavorString);
            int palate = Integer.parseInt(palateString);
            int overall = Integer.parseInt(overallString);

            int total = (aroma + appearance + flavor + palate + overall);

            float totalscore = ((float) total) / 10;
            String result = "" + totalscore;
            return result;
        }
    });
}

From source file:cn.com.jinyinmao.app.openapi.WBInviteAPIActivity.java

/**
 * @see {@link Activity#onCreate}/*from   www. j  a  v  a 2 s.  c  o m*/
 */
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_open_api_invite);

    mEditText = (EditText) findViewById(R.id.friend_uid);
    mEditText.setInputType(InputType.TYPE_CLASS_NUMBER);
    mEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            mInviteButton.setEnabled(!(0 == count));
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void afterTextChanged(Editable s) {
        }
    });

    // 
    mInviteButton = (Button) findViewById(R.id.invite_button);
    mInviteButton.setEnabled(false);
    mInviteButton.setOnClickListener(this);
}

From source file:com.wart.magister.SelectSchoolActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_select_school);
    // Display the Actionbar arrow
    getActionBar().setDisplayHomeAsUpEnabled(false);

    ((EditText) findViewById(R.id.select_school_edittext)).addTextChangedListener(new TextWatcher() {
        @Override//from w ww .  j  ava2  s  . c o m
        public void afterTextChanged(Editable e) {
            if (e.length() > 0) {
                showProgress(true);
                if (mRetrieveSchoolsRequest != null && !mRetrieveSchoolsRequest.isFinished())
                    mRetrieveSchoolsRequest.cancel(true);
                mRetrieveSchoolsRequest = Global.AsyncHttpClient.get(
                        "http://app.schoolmaster.nl/schoolLicentieService.asmx/Search?term="
                                + e.toString().replace(" ", "%20").toLowerCase().trim(),
                        new TextHttpResponseHandler() {
                            @Override
                            public void onSuccess(int statusCode, Header[] headers, String responseBody) {
                                try {
                                    SAXParserFactory factory = SAXParserFactory.newInstance();
                                    SAXParser saxParser = factory.newSAXParser();

                                    mRetrievedSchools.clear();
                                    DefaultHandler handler = new DefaultHandler() {
                                        private String currentValue;
                                        private School currentSchool;

                                        @Override
                                        public void characters(char ch[], int start, int length)
                                                throws SAXException {
                                            currentValue = new String(ch, start, length);
                                        }

                                        @Override
                                        public void endElement(String uri, String localName, String qName)
                                                throws SAXException {
                                            if (qName.equalsIgnoreCase("medius"))
                                                currentSchool.URL = currentValue;
                                            else if (qName.equalsIgnoreCase("licentie"))
                                                currentSchool.License = currentValue;
                                        }

                                        @Override
                                        public void startElement(String uri, String localName, String qName,
                                                Attributes attributes) throws SAXException {
                                            if (qName.equalsIgnoreCase("school")) {
                                                currentSchool = new School();
                                                mRetrievedSchools.add(currentSchool);
                                            }
                                        }
                                    };
                                    saxParser.parse(new InputSource(new StringReader(responseBody)), handler);

                                    String[] names = new String[mRetrievedSchools.size()];
                                    for (int i = 0; i < mRetrievedSchools.size(); i++)
                                        names[i] = mRetrievedSchools.get(i).License;

                                    mSchoolsList.setAdapter(new ArrayAdapter<String>(SelectSchoolActivity.this,
                                            android.R.layout.simple_list_item_1, names));
                                } catch (Exception e) {
                                    Log.e(TAG, "Error in onSuccess", e);
                                }
                            }

                            @Override
                            public void onFailure(String responseBody, Throwable error) {
                                mSchoolsList.setAdapter(null);
                                Log.e(TAG, "Retrieving schools failed", error);
                            }

                            @Override
                            public void onFinish() {
                                showProgress(false);
                            }
                        });
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }
    });

    mSchoolsList = (ListView) findViewById(R.id.select_school_listview);
    mSchoolsList.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            if (mTestMediusRequest != null && !mTestMediusRequest.isFinished())
                mTestMediusRequest.cancel(true);
            ((TextView) findViewById(R.id.select_school_status_message)).setText("Testing school...");
            showProgress(true);

            Data.set(Data.MEDIUSURL, Data.buildMediusUrl(mRetrievedSchools.get(position).URL));
            Log.v(TAG, "posting to " + Data.getString(Data.MEDIUSURL));
            byte[] request = new byte[54];
            request[0] = 0x52;
            request[1] = 0x4f;
            request[2] = 49;
            request[3] = 48;
            request[4] = 55;
            request[12] = 95;
            request[13] = -38;
            request[14] = -109;
            request[15] = 13;
            request[16] = -14;
            request[17] = 92;
            request[18] = 7;
            request[19] = 86;
            request[20] = -77;
            request[21] = -23;
            request[22] = 9;
            request[23] = 22;
            request[24] = 71;
            request[25] = -53;
            request[26] = -81;
            request[27] = 45;
            request[28] = 5;
            request[32] = 76;
            request[33] = 111;
            request[34] = 103;
            request[35] = 105;
            request[36] = 110;
            request[37] = 13;
            request[41] = 71;
            request[42] = 101;
            request[43] = 116;
            request[44] = 83;
            request[45] = 99;
            request[46] = 104;
            request[47] = 111;
            request[48] = 111;
            request[49] = 108;
            request[50] = 78;
            request[51] = 97;
            request[52] = 109;
            request[53] = 101;

            Log.i(TAG, "Testing the url...");
            mTestMediusRequest = Global.AsyncHttpClient.post(SelectSchoolActivity.this,
                    Data.getString(Data.MEDIUSURL), new ByteArrayEntity(request), "text/html",
                    new BinaryHttpResponseHandler(new String[] { "text/html" }) {
                        @Override
                        public void onSuccess(byte[] binaryData) {

                            if (binaryData != null) {
                                Log.i(TAG, "Received " + binaryData.length + " bytes of data");
                                Serializer s = new Serializer(binaryData);
                                try {
                                    if (s.readROHeader(null, "login", "getschoolname")) {
                                        Data.set(Data.LICENSE, s.readString());
                                        MediusCall.setLicense(Data.getString(Data.LICENSE));
                                    } else
                                        Log.e(TAG, "Geblokkeerd door webserver");
                                } catch (Exception e) {
                                    Log.e(TAG, "Error in TestMedius.onSuccess", e);
                                }
                                Log.i(TAG, "Succesfully tested the medius");
                                SelectSchoolActivity.this.startActivity(
                                        new Intent(SelectSchoolActivity.this, LoginActivity.class));
                            } else
                                Log.e(TAG, "TestMedius timed out");
                        }

                        @Override
                        public void onFailure(int statusCode, Header[] headers, byte[] binaryData,
                                Throwable error) {
                            Log.e(TAG, "Error in TestMedius.onFaillure", error);
                        }

                        @Override
                        public void onFinish() {
                            showProgress(false);
                        }
                    });
        }
    });
    mSearchLayout = (LinearLayout) findViewById(R.id.select_school_status_layout);
}

From source file:com.example.trumpetproject.activities.SignUpFragment.java

@Override
public View onCreateView(LayoutInflater layoutInflater, ViewGroup container, Bundle savedInstanceState) {
    View view = layoutInflater.inflate(R.layout.fragment_sign_in, container, false);
    mUsernameTextInputLayout = (TextInputLayout) view.findViewById(R.id.usernameTextInputLayout);
    mPasswordTextInputLayout = (TextInputLayout) view.findViewById(R.id.passwordTextInputLayout);

    // Validate username and password as I am typing
    mUsernameEditText = (EditText) view.findViewById(R.id.usernameEditText);
    mUsernameEditText.addTextChangedListener(new TextWatcher() {
        @Override//from  w  w  w. j  a va2  s.c o m
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            validateUsernameLayouts(charSequence);
        }

        @Override
        public void afterTextChanged(Editable editable) {
        }
    });
    mPasswordEditText = (EditText) view.findViewById(R.id.passwordEditText);
    mPasswordEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            validatePasswordLayouts(charSequence);
        }

        @Override
        public void afterTextChanged(Editable editable) {
        }
    });

    mSignInButton = (Button) view.findViewById(R.id.signInButton);
    mSignInButton.setOnClickListener(new View.OnClickListener() { // Build Credentials Object and Save Credentials if Valid
        @Override
        public void onClick(final View view) {
            setSignEnabled(false);
            String username = mUsernameTextInputLayout.getEditText().getText().toString();
            String password = mPasswordTextInputLayout.getEditText().getText().toString();

            Credential credential = new Credential.Builder(username).setPassword(password).build();
            if (ValidationUtil.isValidCredential(credential)) {
                //TODO: isValidCredential should return to me the UserId & penname of the newly created user to be saved in shared resources same as in sign in frag
                //StorageUtil.getInstance().setMyUserId(credential.getId());
                Log.v("myusername-save", credential.getId());
                ((MainActivity) getActivity()).saveCredential(credential);
            } else {
                Log.d(TAG, "Credentials are invalid. Username or password are " + "incorrect.");
                Toast.makeText(view.getContext(), R.string.invalid_creds_toast_msg, Toast.LENGTH_SHORT).show();
                setSignEnabled(true);
            }
        }
    });

    Button clearButton = (Button) view.findViewById(R.id.clearButton);
    clearButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mUsernameTextInputLayout.getEditText().setText("");
            mPasswordTextInputLayout.getEditText().setText("");
        }
    });

    mSignInProgressBar = (ProgressBar) view.findViewById(R.id.signInProgress);
    mSignInProgressBar.setVisibility(ProgressBar.INVISIBLE);

    return view;
}

From source file:Main.java

/**
 * Shows a Dialog with a title, a message, a EditText and two Buttons for OK
 * and Cancel. The user can't click OK when the EditText is empty.
 *
 * @param context//  w w w .jav  a2  s  . c  om
 *            The Context of the calling Activity
 * @param title
 *            Title of the Dialog
 * @param message
 *            Message of the Dialog
 * @param inputEditText
 *            The EditText used for this Dialog. You can modify it for
 *            example by setting the input type before passing it to this
 *            method. You can also read the text from the calling method.
 * @param onOkClickListener
 *            The Listener for clicking on the OK button.
 */
public static void showDialog(Context context, String title, String message, EditText inputEditText,
        DialogInterface.OnClickListener onOkClickListener) {

    AlertDialog.Builder alert = new AlertDialog.Builder(context);
    alert.setTitle(title);
    alert.setMessage(message);
    alert.setView(inputEditText);

    /*
     * OK button
     */
    alert.setPositiveButton(context.getString(android.R.string.ok), onOkClickListener);
    /*
     * Cancel button
     */
    alert.setNegativeButton(context.getString(android.R.string.cancel), new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            /*
             * Canceled.
             */
        }
    });

    final AlertDialog dialog = alert.show();
    if (dialog != null) {
        /*
         * Disable ok button.
         */
        dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
        /*
         * Dis- and enable , dependent on the text entered
         */
        inputEditText.addTextChangedListener(new TextWatcher() {
            /**
             * Enable OK button if text entered, disable otherwise.
             */
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                dialog.getButton(DialogInterface.BUTTON_POSITIVE)
                        .setEnabled(!s.toString().equals("") && isValideUrl(s.toString()));
            }

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            public void afterTextChanged(Editable s) {
            }
        });
    }
}

From source file:asu.edu.msse.gpeddabu.moviedescriptions.AddMovie.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_movie);
    spinner = (Spinner) findViewById(R.id.genreET);
    getGenreList();/*from  www .  j  a  v  a  2  s . c  om*/
    // Create an ArrayAdapter using the string array and a default spinner layout
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, genreArr);
    // Specify the layout to use when the list of choices appears
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    // Apply the adapter to the spinner
    spinner.setAdapter(adapter);

    final EditText title = (EditText) findViewById(R.id.titleET);
    final Button addButton = (Button) findViewById(R.id.addButton);
    title.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (title.getText().toString().length() > 0) {
                addButton.setEnabled(true);
            } else {
                addButton.setEnabled(false);
            }
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (title.getText().toString().length() > 0) {
                addButton.setEnabled(true);
            } else {
                addButton.setEnabled(false);
            }
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (title.getText().toString().length() > 0) {
                addButton.setEnabled(true);
            } else {
                addButton.setEnabled(false);
            }
        }
    });
}

From source file:com.hardcopy.retrowatch.WatchControlFragment.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_watch_control, container, false);

    mEditGmailAddr = (EditText) rootView.findViewById(R.id.edit_email_addr);
    String defaultAddr = Settings.getInstance(mContext).getGmailAddress();
    if (defaultAddr != null && !defaultAddr.isEmpty())
        mEditGmailAddr.setText(defaultAddr);
    mEditGmailAddr.addTextChangedListener(new TextWatcher() {
        @Override/*from w  w  w . j  a  va 2s.  c om*/
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            String addr = s.toString();
            if (addr != null && !addr.isEmpty()) {
                mFragmentListener.OnFragmentCallback(IFragmentListener.CALLBACK_REQUEST_SET_EMAIL_ADDRESS, 0, 0,
                        addr, null, null);
            }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void afterTextChanged(Editable s) {
        }
    });

    mSpinnerClockStyle = (Spinner) rootView.findViewById(R.id.spinner_clock_style);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(mContext, R.array.clock_style_array,
            R.layout.spinner_simple_item2);
    adapter.setDropDownViewResource(R.layout.spinner_dropdown_simple_item);
    mSpinnerClockStyle.setPrompt(mContext.getString(R.string.clock_style_title));
    mSpinnerClockStyle.setAdapter(adapter);
    mSpinnerClockStyle.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            if (mPresetClockStyle > -1 && mPresetClockStyle != position) {
                mFragmentListener.OnFragmentCallback(IFragmentListener.CALLBACK_REQUEST_CLOCK_STYLE, position,
                        0, null, null, null);
            }
            mPresetClockStyle = position;
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
        }
    });

    // Clock indicator style selector
    mSpinnerIndicator = (Spinner) rootView.findViewById(R.id.spinner_show_indicator);
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(mContext,
            R.array.clock_indicator_array, R.layout.spinner_simple_item2);
    adapter.setDropDownViewResource(R.layout.spinner_dropdown_simple_item);
    mSpinnerIndicator.setPrompt(mContext.getString(R.string.clock_indicator_title));
    mSpinnerIndicator.setAdapter(adapter2);
    mSpinnerIndicator.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            if (mPresetIndicator > -1 && mPresetIndicator != position) {
                mFragmentListener.OnFragmentCallback(IFragmentListener.CALLBACK_REQUEST_SHOW_INDICATOR,
                        position, 0, null, null, null);
            }
            mPresetIndicator = position;
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
        }
    });

    // 'Run in background' setting
    mCheckBackground = (CheckBox) rootView.findViewById(R.id.check_background_service);
    mCheckBackground.setChecked(Settings.getInstance(mContext).getRunInBackground());
    mCheckBackground.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            Settings.getInstance(mContext).setRunInBackground(isChecked);
            mFragmentListener.OnFragmentCallback(IFragmentListener.CALLBACK_REQUEST_RUN_IN_BACKGROUND, 0, 0,
                    null, null, null);
        }
    });

    return rootView;
}