Example usage for android.widget RadioGroup addView

List of usage examples for android.widget RadioGroup addView

Introduction

In this page you can find the example usage for android.widget RadioGroup addView.

Prototype

public void addView(View child) 

Source Link

Document

Adds a child view.

Usage

From source file:ru.orangesoftware.financisto2.activity.FlowzrSyncActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FlowzrSyncActivity.me = this;
    mNotifyBuilder = new NotificationCompat.Builder(getApplicationContext());
    nm = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
    setContentView(R.layout.flowzr_sync);
    restoreUIFromPref();/* w w w  . j  ava 2s  .  c  o m*/
    if (useCredential != null) {

    }

    AccountManager accountManager = AccountManager.get(getApplicationContext());
    final Account[] accounts = accountManager.getAccountsByType("com.google");
    if (accounts.length < 1) {
        new AlertDialog.Builder(this).setTitle(getString(R.string.flowzr_sync_error))
                .setMessage(R.string.account_required)
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        finish();
                    }
                }).show();
    }
    //radio crendentials
    RadioGroup radioGroupCredentials = (RadioGroup) findViewById(R.id.radioCredentials);
    OnClickListener radio_listener = new OnClickListener() {
        public void onClick(View v) {
            RadioButton radioButtonSelected = (RadioButton) findViewById(v.getId());
            for (Account account : accounts) {
                if (account.name == radioButtonSelected.getText()) {
                    useCredential = account;
                }
            }
        }
    };
    //initialize value
    for (int i = 0; i < accounts.length; i++) {
        RadioButton rb = new RadioButton(this);
        radioGroupCredentials.addView(rb); //, 0, lp); 
        rb.setOnClickListener(radio_listener);
        rb.setText(((Account) accounts[i]).name);
        if (useCredential != null) {
            if (accounts[i].name.equals(useCredential.name)) {
                rb.toggle(); //.setChecked(true);
            }
        }
    }

    bOk = (Button) findViewById(R.id.bOK);
    bOk.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            setRunning();
            initProgressDialog();
            //                if (useCredential!=null) {
            //                   flowzrBilling=new FlowzrBilling(FlowzrSyncActivity.this, getApplicationContext(), http_client, useCredential.toString());  
            //                }               
            if (useCredential == null) {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_choose_account);
                notifyUser(getString(R.string.flowzr_choose_account), 100);
                setReady();
            } else if (!isOnline(FlowzrSyncActivity.this)) {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_sync_error_no_network);
                notifyUser(getString(R.string.flowzr_sync_error_no_network), 100);
                setReady();
            } else {
                saveOptionsFromUI();
                //Play Service Billing
                //FlowzrBilling flowzrBilling = new FlowzrBilling(FlowzrSyncActivity.this, getApplicationContext(), http_client, useCredential.toString());  
                //if (flowzrSyncTask.checkSubscription()) {
                flowzrSyncEngine = new FlowzrSyncEngine(FlowzrSyncActivity.this);
                //}

            }
        }
    });

    Button bCancel = (Button) findViewById(R.id.bCancel);
    bCancel.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (flowzrSyncEngine != null) {
                flowzrSyncEngine.isCanceled = true;
            }
            isRunning = false;
            setResult(RESULT_CANCELED);
            setReady();
            startActivity(new Intent(getApplicationContext(), MainActivity.class));
            //finish();
        }
    });

    Button textViewAbout = (Button) findViewById(R.id.buySubscription);
    textViewAbout.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (isOnline(FlowzrSyncActivity.this)) {
                visitFlowzr(useCredential);
            } else {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_sync_error_no_network);
            }
        }
    });

    Button textViewAboutAnon = (Button) findViewById(R.id.visitFlowzr);
    textViewAboutAnon.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (isOnline(FlowzrSyncActivity.this)) {
                visitFlowzr(null);
            } else {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_sync_error_no_network);
            }
        }
    });

    TextView textViewNotes = (TextView) findViewById(R.id.flowzrPleaseNote);
    textViewNotes.setMovementMethod(LinkMovementMethod.getInstance());
    textViewNotes.setText(Html.fromHtml(getString(R.string.flowzr_terms_of_use)));
    if (MyPreferences.isAutoSync(this)) {
        if (checkPlayServices()) {
            gcm = GoogleCloudMessaging.getInstance(this);
            regid = getRegistrationId(getApplicationContext());

            if (regid.equals("")) {
                registerInBackground();
            }
            Log.i(TAG, "Google Cloud Messaging registered as :" + regid);
        } else {
            Log.i(TAG, "No valid Google Play Services APK found.");
        }
    }
}

From source file:com.google.samples.apps.iosched.videolibrary.VideoLibraryFilteredFragment.java

/**
 * Generates RadioButton for each item of the {@code values} list and adds them to the
 * {@code radioGroup}. The item equals to {@code selectedValue} will be checked initially. Items
 * with special Labels can be added using {@code specialValues}. They will be added on top and
 * in uppercase characters.//from   w  ww  .  j a  v a2s .  c  o m
 */
private <T extends Comparable> void updateRadioGroup(final RadioGroup radioGroup, List<T> values,
        T selectedValue, Map<T, String> specialValues) {

    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    if (radioGroup == null) {
        return;
    }

    // Add special Values to the list
    List<T> specialItemsList = new ArrayList<>(specialValues.keySet());
    Collections.sort(specialItemsList);
    for (T keys : specialItemsList) {
        values.add(0, keys);
    }

    radioGroup.removeAllViews();
    int idCounter = 0;
    for (final T value : values) {
        View buttonLayout = inflater.inflate(R.layout.video_library_filter_radio_button, radioGroup, false);
        final RadioButton button = (RadioButton) buttonLayout.findViewById(R.id.button);
        radioGroup.addView(buttonLayout);

        // Set the Label of the Radio Button.
        TextView text = (TextView) buttonLayout.findViewById(R.id.text);
        text.setText(specialValues.get(value) == null ? value.toString() : specialValues.get(value));

        // We have to give different IDs to all the RadioButtons inside the RadioGroup so that
        // only one can be checked at a time.
        button.setId(idCounter);
        idCounter++;

        // Trigger a RadioButton click when clicking the Text.
        text.setOnClickListener(new View.OnClickListener() {
            @Override
            @TargetApi(15)
            public void onClick(View v) {
                button.callOnClick();
            }
        });

        // When Clicking the RadioButton filter when re-filter the videos.
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                radioGroup.check(button.getId());
                onVideoFilterChanged(value);
            }
        });

        if (selectedValue.equals(value)) {
            radioGroup.check(button.getId());
        }
    }
}

From source file:de.da_sense.moses.client.FormFragment.java

/**
 * Displays a single choice question to the user.
 * @param question the question to be displayed
 * @param linearLayoutInsideAScrollView the view to add the question to
 * @param ordinal the ordinal number of the question i.e. 1, 2, 3, 4 or 5
 *///www  .  j a v a  2s . co m
private void makeSingleChoice(final Question question, LinearLayout linearLayoutInsideAScrollView,
        int ordinal) {
    LinearLayout questionContainer = generateQuestionContainer(linearLayoutInsideAScrollView);
    String questionText = question.getTitle();
    List<PossibleAnswer> possibleAnswers = question.getPossibleAnswers();
    Collections.sort(possibleAnswers);

    TextView questionView = new TextView(getActivity());
    questionView.setText(ordinal + ". " + questionText);
    if (question.isMandatory())
        questionView.setTextAppearance(getActivity(), R.style.QuestionTextStyleMandatory);
    else
        questionView.setTextAppearance(getActivity(), R.style.QuestionTextStyle);
    questionContainer.addView(questionView);
    mQuestionTitleMappings.put(question, questionView);

    final RadioButton[] rb = new RadioButton[possibleAnswers.size()];
    RadioGroup rg = new RadioGroup(getActivity()); // create the RadioGroup
    rg.setOrientation(RadioGroup.VERTICAL);// or RadioGroup.VERTICAL
    String madeAnswer = question.getAnswer();
    int madeAnswerInt = -1;
    if (!madeAnswer.equals(Question.ANSWER_UNANSWERED))
        madeAnswerInt = Integer.parseInt(madeAnswer);

    for (int i = 0; i < rb.length; i++) {
        rb[i] = new RadioButton(getActivity());
        if (i % 2 == 0)
            rb[i].setBackgroundColor(getActivity().getResources().getColor(R.color.light_gray));
        rg.addView(rb[i]); // the RadioButtons are added to the radioGroup
        // instead of the layout
        PossibleAnswer possibleAnswer = possibleAnswers.get(i);
        rb[i].setText(possibleAnswer.getTitle());
        final int possibleAnswerId = possibleAnswer.getId();
        if (madeAnswerInt == possibleAnswerId)
            rb[i].setChecked(true);
        rb[i].setTextAppearance(getActivity(), R.style.PossibleAnswerTextStyle);
        LayoutParams rowParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
        rb[i].setLayoutParams(rowParam);

        // click handling
        rb[i].setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                question.setAnswer(String.valueOf(possibleAnswerId));
            }
        });
        if (mBelongsTo == WelcomeActivityPagerAdapter.TAB_HISTORY)
            rb[i].setEnabled(false);

        rb[i].setVisibility(View.VISIBLE);
    }

    rg.setVisibility(View.VISIBLE);
    if (mBelongsTo == WelcomeActivityPagerAdapter.TAB_HISTORY)
        rg.setEnabled(false);
    Log.i(LOG_TAG, "last rg = " + rg);
    questionContainer.addView(rg);
}

From source file:com.aware.ui.ESM_UI.java

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    //      getActivity().getWindow().setType(WindowManager.LayoutParams.TYPE_PRIORITY_PHONE);
    //      getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    //        getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    //        getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

    builder = new AlertDialog.Builder(getActivity());
    inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);

    TAG = Aware.getSetting(getActivity().getApplicationContext(), Aware_Preferences.DEBUG_TAG).length() > 0
            ? Aware.getSetting(getActivity().getApplicationContext(), Aware_Preferences.DEBUG_TAG)
            : TAG;/* w w  w.  j  a v  a 2 s  . com*/

    Cursor visible_esm = getActivity().getContentResolver().query(ESM_Data.CONTENT_URI, null,
            ESM_Data.STATUS + "=" + ESM.STATUS_NEW, null, ESM_Data.TIMESTAMP + " ASC LIMIT 1");
    if (visible_esm != null && visible_esm.moveToFirst()) {
        esm_id = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data._ID));

        //Fixed: set the esm as not new anymore, to avoid displaying the same ESM twice due to changes in orientation
        ContentValues update_state = new ContentValues();
        update_state.put(ESM_Data.STATUS, ESM.STATUS_VISIBLE);
        getActivity().getContentResolver().update(ESM_Data.CONTENT_URI, update_state,
                ESM_Data._ID + "=" + esm_id, null);

        esm_type = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.TYPE));
        expires_seconds = visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.EXPIRATION_THREASHOLD));

        builder.setTitle(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.TITLE)));

        View ui = null;
        switch (esm_type) {
        case ESM.TYPE_ESM_TEXT:
            ui = inflater.inflate(R.layout.esm_text, null);
            break;
        case ESM.TYPE_ESM_RADIO:
            ui = inflater.inflate(R.layout.esm_radio, null);
            break;
        case ESM.TYPE_ESM_CHECKBOX:
            ui = inflater.inflate(R.layout.esm_checkbox, null);
            break;
        case ESM.TYPE_ESM_LIKERT:
            ui = inflater.inflate(R.layout.esm_likert, null);
            break;
        case ESM.TYPE_ESM_QUICK_ANSWERS:
            ui = inflater.inflate(R.layout.esm_quick, null);
            break;
        }

        final View layout = ui;
        builder.setView(layout);
        current_dialog = builder.create();
        sContext = current_dialog.getContext();

        TextView esm_instructions = (TextView) layout.findViewById(R.id.esm_instructions);
        esm_instructions.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.INSTRUCTIONS)));

        switch (esm_type) {
        case ESM.TYPE_ESM_TEXT:
            final EditText feedback = (EditText) layout.findViewById(R.id.esm_feedback);
            Button cancel_text = (Button) layout.findViewById(R.id.esm_cancel);
            cancel_text.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    inputManager.hideSoftInputFromWindow(feedback.getWindowToken(), 0);
                    current_dialog.cancel();
                }
            });
            Button submit_text = (Button) layout.findViewById(R.id.esm_submit);
            submit_text.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT)));
            submit_text.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    inputManager.hideSoftInputFromWindow(feedback.getWindowToken(), 0);

                    if (expires_seconds > 0 && expire_monitor != null)
                        expire_monitor.cancel(true);

                    ContentValues rowData = new ContentValues();
                    rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis());
                    rowData.put(ESM_Data.ANSWER, feedback.getText().toString());
                    rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED);

                    sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData,
                            ESM_Data._ID + "=" + esm_id, null);

                    Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED);
                    getActivity().sendBroadcast(answer);

                    if (Aware.DEBUG)
                        Log.d(TAG, "Answer:" + rowData.toString());

                    current_dialog.dismiss();
                }
            });
            break;
        case ESM.TYPE_ESM_RADIO:
            try {
                final RadioGroup radioOptions = (RadioGroup) layout.findViewById(R.id.esm_radio);
                final JSONArray radios = new JSONArray(
                        visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.RADIOS)));

                for (int i = 0; i < radios.length(); i++) {
                    final RadioButton radioOption = new RadioButton(getActivity());
                    radioOption.setId(i);
                    radioOption.setText(radios.getString(i));
                    radioOptions.addView(radioOption);

                    if (radios.getString(i).equals("Other")) {
                        radioOption.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                final Dialog editOther = new Dialog(getActivity());
                                editOther.setTitle("Can you be more specific, please?");
                                editOther.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
                                editOther.getWindow().setGravity(Gravity.TOP);
                                editOther.getWindow().setLayout(LayoutParams.MATCH_PARENT,
                                        LayoutParams.WRAP_CONTENT);

                                LinearLayout editor = new LinearLayout(getActivity());
                                editor.setOrientation(LinearLayout.VERTICAL);

                                editOther.setContentView(editor);
                                editOther.show();

                                final EditText otherText = new EditText(getActivity());
                                editor.addView(otherText);

                                Button confirm = new Button(getActivity());
                                confirm.setText("OK");
                                confirm.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        if (otherText.length() > 0)
                                            radioOption.setText(otherText.getText());
                                        inputManager.hideSoftInputFromWindow(otherText.getWindowToken(), 0);
                                        editOther.dismiss();
                                    }
                                });
                                editor.addView(confirm);
                            }
                        });
                    }
                }
                Button cancel_radio = (Button) layout.findViewById(R.id.esm_cancel);
                cancel_radio.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        current_dialog.cancel();
                    }
                });
                Button submit_radio = (Button) layout.findViewById(R.id.esm_submit);
                submit_radio.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT)));
                submit_radio.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        if (expires_seconds > 0 && expire_monitor != null)
                            expire_monitor.cancel(true);

                        ContentValues rowData = new ContentValues();
                        rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis());

                        RadioGroup radioOptions = (RadioGroup) layout.findViewById(R.id.esm_radio);
                        if (radioOptions.getCheckedRadioButtonId() != -1) {
                            RadioButton selected = (RadioButton) radioOptions
                                    .getChildAt(radioOptions.getCheckedRadioButtonId());
                            rowData.put(ESM_Data.ANSWER, selected.getText().toString());
                        }
                        rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED);

                        sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData,
                                ESM_Data._ID + "=" + esm_id, null);

                        Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED);
                        getActivity().sendBroadcast(answer);

                        if (Aware.DEBUG)
                            Log.d(TAG, "Answer:" + rowData.toString());

                        current_dialog.dismiss();
                    }
                });
            } catch (JSONException e) {
                e.printStackTrace();
            }
            break;
        case ESM.TYPE_ESM_CHECKBOX:
            try {
                final LinearLayout checkboxes = (LinearLayout) layout.findViewById(R.id.esm_checkboxes);
                final JSONArray checks = new JSONArray(
                        visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.CHECKBOXES)));

                for (int i = 0; i < checks.length(); i++) {
                    final CheckBox checked = new CheckBox(getActivity());
                    checked.setText(checks.getString(i));
                    checked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                        @Override
                        public void onCheckedChanged(final CompoundButton buttonView, boolean isChecked) {
                            if (isChecked) {
                                if (buttonView.getText().equals("Other")) {
                                    checked.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            final Dialog editOther = new Dialog(getActivity());
                                            editOther.setTitle("Can you be more specific, please?");
                                            editOther.getWindow()
                                                    .setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
                                            editOther.getWindow().setGravity(Gravity.TOP);
                                            editOther.getWindow().setLayout(LayoutParams.MATCH_PARENT,
                                                    LayoutParams.WRAP_CONTENT);

                                            LinearLayout editor = new LinearLayout(getActivity());
                                            editor.setOrientation(LinearLayout.VERTICAL);
                                            editOther.setContentView(editor);
                                            editOther.show();

                                            final EditText otherText = new EditText(getActivity());
                                            editor.addView(otherText);

                                            Button confirm = new Button(getActivity());
                                            confirm.setText("OK");
                                            confirm.setOnClickListener(new View.OnClickListener() {
                                                @Override
                                                public void onClick(View v) {
                                                    if (otherText.length() > 0) {
                                                        inputManager.hideSoftInputFromWindow(
                                                                otherText.getWindowToken(), 0);
                                                        selected_options
                                                                .remove(buttonView.getText().toString());
                                                        checked.setText(otherText.getText());
                                                        selected_options.add(otherText.getText().toString());
                                                    }
                                                    editOther.dismiss();
                                                }
                                            });
                                            editor.addView(confirm);
                                        }
                                    });
                                } else {
                                    selected_options.add(buttonView.getText().toString());
                                }
                            } else {
                                selected_options.remove(buttonView.getText().toString());
                            }
                        }
                    });
                    checkboxes.addView(checked);
                }
                Button cancel_checkbox = (Button) layout.findViewById(R.id.esm_cancel);
                cancel_checkbox.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        current_dialog.cancel();
                    }
                });
                Button submit_checkbox = (Button) layout.findViewById(R.id.esm_submit);
                submit_checkbox.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT)));
                submit_checkbox.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        if (expires_seconds > 0 && expire_monitor != null)
                            expire_monitor.cancel(true);

                        ContentValues rowData = new ContentValues();
                        rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis());

                        if (selected_options.size() > 0) {
                            rowData.put(ESM_Data.ANSWER, selected_options.toString());
                        }

                        rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED);

                        sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData,
                                ESM_Data._ID + "=" + esm_id, null);

                        Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED);
                        getActivity().sendBroadcast(answer);

                        if (Aware.DEBUG)
                            Log.d(TAG, "Answer:" + rowData.toString());

                        current_dialog.dismiss();
                    }
                });
            } catch (JSONException e) {
                e.printStackTrace();
            }
            break;
        case ESM.TYPE_ESM_LIKERT:
            final RatingBar ratingBar = (RatingBar) layout.findViewById(R.id.esm_likert);
            ratingBar.setMax(visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX)));
            ratingBar.setStepSize(
                    (float) visible_esm.getDouble(visible_esm.getColumnIndex(ESM_Data.LIKERT_STEP)));
            ratingBar.setNumStars(visible_esm.getInt(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX)));

            TextView min_label = (TextView) layout.findViewById(R.id.esm_min);
            min_label.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.LIKERT_MIN_LABEL)));

            TextView max_label = (TextView) layout.findViewById(R.id.esm_max);
            max_label.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.LIKERT_MAX_LABEL)));

            Button cancel = (Button) layout.findViewById(R.id.esm_cancel);
            cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    current_dialog.cancel();
                }
            });
            Button submit = (Button) layout.findViewById(R.id.esm_submit);
            submit.setText(visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.SUBMIT)));
            submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (expires_seconds > 0 && expire_monitor != null)
                        expire_monitor.cancel(true);

                    ContentValues rowData = new ContentValues();
                    rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis());
                    rowData.put(ESM_Data.ANSWER, ratingBar.getRating());
                    rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED);

                    sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData,
                            ESM_Data._ID + "=" + esm_id, null);

                    Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED);
                    getActivity().sendBroadcast(answer);

                    if (Aware.DEBUG)
                        Log.d(TAG, "Answer:" + rowData.toString());

                    current_dialog.dismiss();
                }
            });
            break;
        case ESM.TYPE_ESM_QUICK_ANSWERS:
            try {
                final JSONArray answers = new JSONArray(
                        visible_esm.getString(visible_esm.getColumnIndex(ESM_Data.QUICK_ANSWERS)));
                final LinearLayout answersHolder = (LinearLayout) layout.findViewById(R.id.esm_answers);

                //If we have more than 3 possibilities, better that the UI is vertical for UX
                if (answers.length() > 3) {
                    answersHolder.setOrientation(LinearLayout.VERTICAL);
                }

                for (int i = 0; i < answers.length(); i++) {
                    final Button answer = new Button(getActivity());
                    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
                            LayoutParams.WRAP_CONTENT, 1.0f);
                    answer.setLayoutParams(params);
                    answer.setText(answers.getString(i));
                    answer.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            if (expires_seconds > 0 && expire_monitor != null)
                                expire_monitor.cancel(true);

                            ContentValues rowData = new ContentValues();
                            rowData.put(ESM_Data.ANSWER_TIMESTAMP, System.currentTimeMillis());
                            rowData.put(ESM_Data.STATUS, ESM.STATUS_ANSWERED);
                            rowData.put(ESM_Data.ANSWER, (String) answer.getText());

                            sContext.getContentResolver().update(ESM_Data.CONTENT_URI, rowData,
                                    ESM_Data._ID + "=" + esm_id, null);

                            Intent answer = new Intent(ESM.ACTION_AWARE_ESM_ANSWERED);
                            getActivity().sendBroadcast(answer);

                            if (Aware.DEBUG)
                                Log.d(TAG, "Answer:" + rowData.toString());

                            current_dialog.dismiss();
                        }
                    });
                    answersHolder.addView(answer);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
            break;
        }
    }
    if (visible_esm != null && !visible_esm.isClosed())
        visible_esm.close();

    //Start dialog visibility threshold
    if (expires_seconds > 0) {
        expire_monitor = new ESMExpireMonitor(System.currentTimeMillis(), expires_seconds, esm_id);
        expire_monitor.execute();
    }

    //Fixed: doesn't dismiss the dialog if touched outside or ghost touches
    current_dialog.setCanceledOnTouchOutside(false);

    return current_dialog;
}

From source file:ru.orangesoftware.financisto.activity.FlowzrSyncActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FlowzrSyncActivity.me = this;

    mNotifyBuilder = new NotificationCompat.Builder(getApplicationContext());
    nm = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
    setContentView(R.layout.flowzr_sync);
    restoreUIFromPref();//  w w w . ja va  2 s .c  o  m

    AccountManager accountManager = AccountManager.get(getApplicationContext());
    final Account[] accounts = accountManager.getAccountsByType("com.google");
    if (accounts.length < 1) {
        new AlertDialog.Builder(this).setTitle(getString(R.string.flowzr_sync_error))
                .setMessage(R.string.account_required)
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        finish();
                    }
                }).show();
    }
    //checkbox
    CheckBox chk = (CheckBox) findViewById(R.id.chk_sync_from_zero);
    OnClickListener chk_listener = new OnClickListener() {
        public void onClick(View v) {
            lastSyncLocalTimestamp = 0;
            renderLastTime(0);
            flowzrSyncEngine.resetLastTime(getApplicationContext());
        }
    };
    chk.setOnClickListener(chk_listener);
    //radio crendentials
    RadioGroup radioGroupCredentials = (RadioGroup) findViewById(R.id.radioCredentials);
    OnClickListener radio_listener = new OnClickListener() {
        public void onClick(View v) {
            RadioButton radioButtonSelected = (RadioButton) findViewById(v.getId());
            for (Account account : accounts) {
                if (account.name == radioButtonSelected.getText()) {
                    lastSyncLocalTimestamp = 0;
                    renderLastTime(0);
                    flowzrSyncEngine.resetLastTime(getApplicationContext());
                    useCredential = account;
                }
            }
        }
    };
    radioGroupCredentials.setOnClickListener(radio_listener);
    //initialize value
    for (int i = 0; i < accounts.length; i++) {
        RadioButton rb = new RadioButton(this);
        radioGroupCredentials.addView(rb); //, 0, lp); 
        rb.setOnClickListener(radio_listener);
        rb.setText(((Account) accounts[i]).name);
        String prefAccount = MyPreferences.getFlowzrAccount(this);
        if (prefAccount != null) {
            if (accounts[i].name.equals(prefAccount)) {
                useCredential = accounts[i];
                rb.toggle(); //.setChecked(true);
            }
        }
    }

    bOk = (Button) findViewById(R.id.bOK);
    bOk.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            startSync();

        }
    });

    Button bCancel = (Button) findViewById(R.id.bCancel);
    bCancel.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (flowzrSyncEngine != null) {
                flowzrSyncEngine.isCanceled = true;
            }
            isRunning = false;
            setResult(RESULT_CANCELED);
            setReady();
            startActivity(new Intent(getApplicationContext(), MainActivity.class));
            //finish();
        }
    });

    Button textViewAbout = (Button) findViewById(R.id.buySubscription);
    textViewAbout.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (isOnline(FlowzrSyncActivity.this)) {
                visitFlowzr(useCredential);
            } else {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_sync_error_no_network);
            }
        }
    });

    Button textViewAboutAnon = (Button) findViewById(R.id.visitFlowzr);
    textViewAboutAnon.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (isOnline(FlowzrSyncActivity.this)) {
                visitFlowzr(null);
            } else {
                showErrorPopup(FlowzrSyncActivity.this, R.string.flowzr_sync_error_no_network);
            }
        }
    });

    TextView textViewNotes = (TextView) findViewById(R.id.flowzrPleaseNote);
    textViewNotes.setMovementMethod(LinkMovementMethod.getInstance());
    textViewNotes.setText(Html.fromHtml(getString(R.string.flowzr_terms_of_use)));
    if (MyPreferences.isAutoSync(this)) {
        if (checkPlayServices()) {
            gcm = GoogleCloudMessaging.getInstance(this);
            regid = getRegistrationId(getApplicationContext());

            if (regid.equals("")) {
                registerInBackground();
            }
            Log.i(TAG, "Google Cloud Messaging registered as :" + regid);
        } else {
            Log.i(TAG, "No valid Google Play Services APK found.");
        }
    }
}

From source file:org.onebusaway.android.report.ui.Open311ProblemFragment.java

/**
 * Dynamically creates radio buttons//from  w  w  w.ja  v a2  s .c  o m
 *
 * @param open311Attribute contains the open311 attributes
 */
private void createSingleValueList(Open311Attribute open311Attribute) {
    ArrayList<Object> values = (ArrayList<Object>) open311Attribute.getValues();
    if (values != null && values.size() > 0) {
        LayoutInflater inflater = LayoutInflater.from(getActivity());
        RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.report_issue_single_value_list_item,
                null, false);
        layout.setSaveEnabled(true);
        ((ImageView) layout.findViewById(R.id.ri_ic_radio))
                .setColorFilter(getResources().getColor(R.color.material_gray));

        Spannable word = new SpannableString(open311Attribute.getDescription());
        ((TextView) layout.findViewById(R.id.risvli_textView)).setText(word);

        if (open311Attribute.getRequired()) {
            Spannable wordTwo = new SpannableString(" *Required");
            wordTwo.setSpan(new ForegroundColorSpan(Color.RED), 0, wordTwo.length(),
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            ((TextView) layout.findViewById(R.id.risvli_textView)).append(wordTwo);
        }

        RadioGroup rg = (RadioGroup) layout.findViewById(R.id.risvli_radioGroup);
        rg.setOrientation(RadioGroup.VERTICAL);

        // Restore view state from attribute result hash map
        AttributeValue av = mAttributeValueHashMap.get(open311Attribute.getCode());
        String entryValue = null;
        if (av != null) {
            entryValue = av.getSingleValue();
        }

        for (int i = 0; i < values.size(); i++) {
            LinkedHashMap<String, String> value = (LinkedHashMap<String, String>) values.get(i);
            RadioButton rb = new RadioButton(getActivity());
            rg.addView(rb); //the RadioButtons are added to the radioGroup instead of the layout
            String attributeKey = "";
            String attributeValue = "";
            for (LinkedHashMap.Entry<String, String> entry : value.entrySet()) {
                if (Open311Attribute.NAME.equals(entry.getKey())) {
                    rb.setText(entry.getValue());
                    if (entryValue != null && entryValue.equalsIgnoreCase(entry.getValue())) {
                        rb.setChecked(true);
                    }
                    attributeKey = open311Attribute.getCode() + entry.getValue();
                } else if (Open311Attribute.KEY.equals(entry.getKey())) {
                    attributeValue = entry.getValue();
                }
            }
            mOpen311AttributeKeyNameMap.put(attributeKey, attributeValue);
        }

        mInfoLayout.addView(layout);
        mDynamicAttributeUIMap.put(open311Attribute.getCode(), rg);
    }
}

From source file:reportsas.com.formulapp.Formulario.java

public LinearLayout obtenerLayout(LayoutInflater infla, Pregunta preg) {
    int id;//from  ww w  .  j a v  a  2 s. c  om
    int tipo_pregunta = preg.getTipoPregunta();
    LinearLayout pregunta;
    TextView textView;
    TextView textAyuda;
    switch (tipo_pregunta) {
    case 1:
        id = R.layout.pregunta_texto;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloPregunta);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        break;
    case 2:
        id = R.layout.pregunta_multitexto;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.mtxtTritulo);
        textAyuda = (TextView) pregunta.findViewById(R.id.mtxtAyuda);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());

        break;
    case 3:
        id = R.layout.pregunta_seleccion;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloSeleccion);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_seleccion);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        RadioGroup rg = (RadioGroup) pregunta.findViewById(R.id.opcionesUnica);
        ArrayList<OpcionForm> opciones = preg.getOpciones();
        final ArrayList<RadioButton> rb = new ArrayList<RadioButton>();

        for (int i = 0; i < opciones.size(); i++) {
            OpcionForm opcion = opciones.get(i);
            rb.add(new RadioButton(this));
            rg.addView(rb.get(i));
            rb.get(i).setText(opcion.getEtInicial());

        }
        final TextView respt = (TextView) pregunta.findViewById(R.id.respuestaGruop);
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                int radioButtonID = group.getCheckedRadioButtonId();
                RadioButton radioButton = (RadioButton) group.findViewById(radioButtonID);
                respt.setText(radioButton.getText());
            }
        });

        break;
    case 4:
        id = R.layout.pregunta_multiple;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloMultiple);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_mltiple);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        ArrayList<OpcionForm> opciones2 = preg.getOpciones();
        final EditText ediOtros = new EditText(this);
        ArrayList<CheckBox> cb = new ArrayList<CheckBox>();

        for (int i = 0; i < opciones2.size(); i++) {
            OpcionForm opcion = opciones2.get(i);
            cb.add(new CheckBox(this));
            pregunta.addView(cb.get(i));
            cb.get(i).setText(opcion.getEtInicial());
            if (opcion.getEditble().equals("S")) {

                ediOtros.setEnabled(false);
                ediOtros.setId(R.id.edtTexto);
                pregunta.addView(ediOtros);
                cb.get(i).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        if (isChecked) {
                            ediOtros.setEnabled(true);
                        } else {
                            ediOtros.setText("");
                            ediOtros.setEnabled(false);
                        }
                    }
                });
            }

        }
        TextView spacio = new TextView(this);
        spacio.setText("        ");
        spacio.setVisibility(View.INVISIBLE);
        pregunta.addView(spacio);
        break;
    case 5:
        id = R.layout.pregunta_escala;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloEscala);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_escala);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());

        TextView etInicial = (TextView) pregunta.findViewById(R.id.etInicial);
        TextView etFinal = (TextView) pregunta.findViewById(R.id.etFinal);
        OpcionForm opci = preg.getOpciones().get(0);
        etInicial.setText(opci.getEtInicial());
        etFinal.setText(opci.getEtFinal());
        final TextView respEscala = (TextView) pregunta.findViewById(R.id.seleEscala);
        RatingBar rtBar = (RatingBar) pregunta.findViewById(R.id.escala);
        rtBar.setNumStars(Integer.parseInt(opci.getValores().get(0).getDescripcion()));
        rtBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                respEscala.setText("" + Math.round(rating));
            }
        });

        break;
    case 6:
        id = R.layout.pregunta_lista;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloLista);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_lista);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        ArrayList<OpcionForm> opciones3 = preg.getOpciones();
        //Creamos la lista
        LinkedList<ObjetoSpinner> opcn = new LinkedList<ObjetoSpinner>();
        //La poblamos con los ejemplos
        for (int i = 0; i < opciones3.size(); i++) {
            opcn.add(new ObjetoSpinner(opciones3.get(i).getIdOpcion(), opciones3.get(i).getEtInicial()));
        }

        //Creamos el adaptador*/
        Spinner listad = (Spinner) pregunta.findViewById(R.id.opcionesListado);
        ArrayAdapter<ObjetoSpinner> spinner_adapter = new ArrayAdapter<ObjetoSpinner>(this,
                android.R.layout.simple_spinner_item, opcn);
        //Aadimos el layout para el men y se lo damos al spinner
        spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        listad.setAdapter(spinner_adapter);

        break;
    case 7:
        id = R.layout.pregunta_tabla;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloTabla);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_tabla);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        TableLayout tba = (TableLayout) pregunta.findViewById(R.id.tablaOpciones);
        ArrayList<OpcionForm> opciones4 = preg.getOpciones();
        ArrayList<RadioButton> radiosbotonoes = new ArrayList<RadioButton>();
        for (int i = 0; i < opciones4.size(); i++) {
            TableRow row = (TableRow) LayoutInflater.from(this).inflate(R.layout.row_pregunta_tabla, null);
            RadioGroup tg_valores = (RadioGroup) row.findViewById(R.id.valoresRow);

            final ArrayList<RadioButton> valoOpc = new ArrayList<RadioButton>();
            ArrayList<Valor> valoresT = opciones4.get(i).getValores();
            for (int k = 0; k < valoresT.size(); k++) {
                RadioButton rb_nuevo = new RadioButton(this);
                rb_nuevo.setText(valoresT.get(k).getDescripcion());
                tg_valores.addView(rb_nuevo);
                valoOpc.add(rb_nuevo);
            }

            ((TextView) row.findViewById(R.id.textoRow)).setText(opciones4.get(i).getEtInicial());
            tba.addView(row);
        }
        TextView espacio = new TextView(this);
        espacio.setText("        ");
        pregunta.addView(espacio);
        break;
    case 8:
        id = R.layout.pregunta_fecha;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloFecha);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_fecha);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());

        break;
    case 9:
        id = R.layout.pregunta_hora;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloHora);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_hora);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());

        break;
    default:
        id = R.layout.pregunta_multiple;
        pregunta = (LinearLayout) infla.inflate(id, null, false);

        textView = (TextView) pregunta.findViewById(R.id.TituloMultiple);
        textAyuda = (TextView) pregunta.findViewById(R.id.texto_ayuda_mltiple);
        textView.setText(preg.getOrden() + ". " + preg.getTitulo());
        textAyuda.setText(preg.getTxtAyuda());
        break;
    }

    return pregunta;
}

From source file:usbong.android.utils.UsbongScreenProcessor.java

public void init() {
    //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
    Resources myRes = udtea.getResources();
    Drawable myDrawableImage;/*from w ww  .j  a  va2 s .  co m*/

    //added by Mike, Feb. 13, 2013
    udtea.isAnOptionalNode = UsbongUtils.isAnOptionalNode(udtea.currUsbongNode);

    String myStringToken = "";
    //      if (usedBackButton) {

    //        System.out.println(">>>>>> udtea.currAnswer: "+udtea.currAnswer);

    StringTokenizer st = new StringTokenizer(udtea.currAnswer, ",");
    if ((st != null) && (st.hasMoreTokens())) {
        myStringToken = st.nextToken();
        udtea.currAnswer = udtea.currAnswer.replace(myStringToken + ",", "");
    }

    StringTokenizer st_two = new StringTokenizer(udtea.currAnswer, ";");

    if (st_two != null) {
        if (udtea.currAnswer.length() > 1) {
            myStringToken = st_two.nextToken(); //get next element (i.e. 1 in "Y,1;")                
        } else {
            myStringToken = "";
        }
    }

    if (udtea.currScreen == udtea.MULTIPLE_RADIO_BUTTONS_SCREEN) {
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        TextView myMultipleRadioButtonsScreenTextView = (TextView) udtea
                .findViewById(R.id.radio_buttons_textview);
        myMultipleRadioButtonsScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleRadioButtonsScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioGroup radioGroup = (RadioGroup) udtea.findViewById(R.id.multiple_radio_buttons_radiogroup);
        int totalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < totalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    udtea.radioButtonsContainer.elementAt(i).toString());
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            int myStringTokenInt;
            try {
                myStringTokenInt = Integer.parseInt(myStringToken);
            } catch (NumberFormatException e) {//if myStringToken is not an int;
                myStringTokenInt = -1;
            }

            if ((!myStringToken.equals("")) && (i == myStringTokenInt)) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            radioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.MULTIPLE_RADIO_BUTTONS_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        String myMultipleRadioButtonsWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myMultipleRadioButtonsWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myMultipleRadioButtonsWithAnswerScreenStringTokenizer != null) {
            myMultipleRadioButtonsWithAnswerScreenStringToken = myMultipleRadioButtonsWithAnswerScreenStringTokenizer
                    .nextToken();

            while (myMultipleRadioButtonsWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. 0 in "radioButtonsWithAnswer~You see your teacher approaching you. What do you do?Answer=0")
                myMultipleRadioButtonsWithAnswerScreenStringToken = myMultipleRadioButtonsWithAnswerScreenStringTokenizer
                        .nextToken();
            }
        }
        udtea.myMultipleRadioButtonsWithAnswerScreenAnswer = myMultipleRadioButtonsWithAnswerScreenStringToken
                .toString();
        //             Log.d(">>>>>>>>udtea.myMultipleRadioButtonsWithAnswerScreenAnswer", udtea.myMultipleRadioButtonsWithAnswerScreenAnswer);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length()
                        - udtea.myMultipleRadioButtonsWithAnswerScreenAnswer.length() - 1); //do a -1 for the last tilde             
        //             Log.d(">>>>>>>>udtea.currUsbongNodeWithoutAnswer", udtea.currUsbongNodeWithoutAnswer);
        TextView myMultipleRadioButtonsWithAnswerScreenTextView = (TextView) udtea
                .findViewById(R.id.radio_buttons_textview);
        myMultipleRadioButtonsWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleRadioButtonsWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        RadioGroup myMultipleRadioButtonsWithAnswerRadioGroup = (RadioGroup) udtea
                .findViewById(R.id.multiple_radio_buttons_radiogroup);
        int myMultipleRadioButtonsWithAnswerTotalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < myMultipleRadioButtonsWithAnswerTotalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    udtea.radioButtonsContainer.elementAt(i).toString());
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            if ((!myStringToken.equals("")) && (i == Integer.parseInt(myStringToken))) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            myMultipleRadioButtonsWithAnswerRadioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.LINK_SCREEN) {
        //use same contentView as multiple_radio_buttons_screen
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        TextView myLinkScreenTextView = (TextView) udtea.findViewById(R.id.radio_buttons_textview);
        myLinkScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myLinkScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);

        RadioGroup myLinkScreenRadioGroup = (RadioGroup) udtea
                .findViewById(R.id.multiple_radio_buttons_radiogroup);
        int myLinkScreenTotalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < myLinkScreenTotalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    UsbongUtils.trimUsbongNodeName(udtea.radioButtonsContainer.elementAt(i).toString()));

            Log.d(">>>>>radioButton", radioButton.getText().toString());

            //                  radioButton.setChecked(false);
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            if ((!myStringToken.equals("")) && (i == Integer.parseInt(myStringToken))) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            myLinkScreenRadioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.MULTIPLE_CHECKBOXES_SCREEN) {
        udtea.setContentView(R.layout.multiple_checkboxes_screen);
        udtea.initBackNextButtons();
        TextView myMultipleCheckBoxesScreenTextView = (TextView) udtea.findViewById(R.id.checkboxes_textview);
        myMultipleCheckBoxesScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleCheckBoxesScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        LinearLayout myMultipleCheckboxesLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.multiple_checkboxes_linearlayout);
        int totalCheckBoxesInContainer = udtea.checkBoxesContainer.size();
        StringTokenizer myMultipleCheckboxStringTokenizer = new StringTokenizer(myStringToken, ",");
        Vector<String> myCheckedAnswers = new Vector<String>();
        //             int counter=0;             
        while (myMultipleCheckboxStringTokenizer.countTokens() > 0) {
            String myMultipleCheckboxStringToken = myMultipleCheckboxStringTokenizer.nextToken();
            if (myMultipleCheckboxStringToken != null) {
                myCheckedAnswers.add(myMultipleCheckboxStringToken);
            } else {
                break;
            }
            //                counter++;
        }
        for (int i = 0; i < totalCheckBoxesInContainer; i++) {
            CheckBox checkBox = new CheckBox(udtea.getBaseContext());
            //                  checkBox.setText(StringEscapeUtils.unescapeJava(udtea.checkBoxesContainer.elementAt(i).toString()));
            checkBox = (CheckBox) UsbongUtils.applyTagsInView(UsbongDecisionTreeEngineActivity.getInstance(),
                    checkBox, UsbongUtils.IS_CHECKBOX,
                    StringEscapeUtils.unescapeJava(udtea.checkBoxesContainer.elementAt(i).toString()));

            for (int k = 0; k < myCheckedAnswers.size(); k++) {
                try {
                    if (i == Integer.parseInt(myCheckedAnswers.elementAt(k))) {
                        checkBox.setChecked(true);
                    }
                } catch (NumberFormatException e) {//if myCheckedAnswers.elementAt(k) is not an int;
                    continue;
                }
            }

            checkBox.setTextSize(20);
            checkBox.setTextColor(Color.parseColor("#4a452a"));
            myMultipleCheckboxesLinearLayout.addView(checkBox);
        }
    } else if (udtea.currScreen == udtea.AUDIO_RECORD_SCREEN) {
        udtea.setContentView(R.layout.audio_recorder_screen);
        udtea.initRecordAudioScreen();
        udtea.initBackNextButtons();
        TextView myAudioRecorderTextView = (TextView) udtea.findViewById(R.id.audio_recorder_textview);
        myAudioRecorderTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myAudioRecorderTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button recordButton = (Button) udtea.findViewById(R.id.record_button);
        Button stopButton = (Button) udtea.findViewById(R.id.stop_button);
        Button playButton = (Button) udtea.findViewById(R.id.play_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewFILIPINO));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewFILIPINO));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewJAPANESE));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewJAPANESE));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewENGLISH));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewENGLISH));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.PHOTO_CAPTURE_SCREEN) {
        udtea.setContentView(R.layout.photo_capture_screen);
        if (!udtea.performedCapturePhoto) {
            udtea.initTakePhotoScreen();
        }
        udtea.initBackNextButtons();
        TextView myPhotoCaptureScreenTextView = (TextView) udtea.findViewById(R.id.photo_capture_textview);
        myPhotoCaptureScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myPhotoCaptureScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button photoCaptureButton = (Button) udtea.findViewById(R.id.photo_capture_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.PAINT_SCREEN) {
        udtea.setContentView(R.layout.paint_screen);
        if (!udtea.performedRunPaint) {
            udtea.initPaintScreen();
        }
        udtea.initBackNextButtons();
        TextView myPaintScreenTextView = (TextView) udtea.findViewById(R.id.paint_textview);
        myPaintScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myPaintScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        Button paintButton = (Button) udtea.findViewById(R.id.paint_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.QR_CODE_READER_SCREEN) {
        udtea.setContentView(R.layout.qr_code_reader_screen);
        if (!udtea.performedGetQRCode) {
            udtea.initQRCodeReaderScreen();
        }
        udtea.initBackNextButtons();
        TextView myQRCodeReaderScreenTextView = (TextView) udtea.findViewById(R.id.qr_code_reader_textview);
        myQRCodeReaderScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myQRCodeReaderScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button qrCodeReaderButton = (Button) udtea.findViewById(R.id.qr_code_reader_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            qrCodeReaderButton.setText(
                    (String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            qrCodeReaderButton.setText(
                    (String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            qrCodeReaderButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.TEXTFIELD_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextFieldScreenEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTFIELD_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        String myTextFieldWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myTextFieldWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myTextFieldWithAnswerScreenStringTokenizer != null) {
            myTextFieldWithAnswerScreenStringToken = myTextFieldWithAnswerScreenStringTokenizer.nextToken();

            while (myTextFieldWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. Mike in "textFieldWithAnswer~Who is the founder of Usbong (nickname)?Answer=Mike")
                myTextFieldWithAnswerScreenStringToken = myTextFieldWithAnswerScreenStringTokenizer.nextToken();
            }
        }
        udtea.myTextFieldWithAnswerScreenAnswer = myTextFieldWithAnswerScreenStringToken.toString();
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length() - udtea.myTextFieldWithAnswerScreenAnswer.length()
                        - 1); //do a -1 for the last tilde             
        TextView myTextFieldWithAnswerScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        EditText myTextFieldScreenWithAnswerEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldScreenWithAnswerEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTAREA_SCREEN) {
        udtea.setContentView(R.layout.textarea_screen);
        udtea.initBackNextButtons();
        TextView myTextAreaScreenTextView = (TextView) udtea.findViewById(R.id.textarea_textview);
        myTextAreaScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextAreaScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextAreaScreenEditText = (EditText) udtea.findViewById(R.id.textarea_edittext);
        myTextAreaScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTAREA_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.textarea_screen);
        udtea.initBackNextButtons();
        String myTextAreaWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myTextAreaWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myTextAreaWithAnswerScreenStringTokenizer != null) {
            myTextAreaWithAnswerScreenStringToken = myTextAreaWithAnswerScreenStringTokenizer.nextToken();

            while (myTextAreaWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. Mike in "textFieldWithAnswer~Who is the founder of Usbong (nickname)?Answer=Mike")
                myTextAreaWithAnswerScreenStringToken = myTextAreaWithAnswerScreenStringTokenizer.nextToken();
            }
        }
        udtea.myTextAreaWithAnswerScreenAnswer = myTextAreaWithAnswerScreenStringToken.toString();
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length() - udtea.myTextAreaWithAnswerScreenAnswer.length()
                        - 1); //do a -1 for the last tilde             
        TextView myTextAreaWithAnswerScreenTextView = (TextView) udtea.findViewById(R.id.textarea_textview);
        myTextAreaWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextAreaWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        EditText myTextAreaScreenWithAnswerEditText = (EditText) udtea.findViewById(R.id.textarea_edittext);
        myTextAreaScreenWithAnswerEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTFIELD_WITH_UNIT_SCREEN) {
        udtea.setContentView(R.layout.textfield_with_unit_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldWithUnitScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldWithUnitScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldWithUnitScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        myEditText.setText(myStringToken);
        TextView myUnitScreenTextView = (TextView) udtea.findViewById(R.id.textfieldunit_textview);
        myUnitScreenTextView.setText(udtea.textFieldUnit);
    } else if (udtea.currScreen == udtea.TEXTFIELD_NUMERICAL_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldNumericalScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldNumericalScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldNumericalScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextFieldNumericalScreenEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldNumericalScreenEditText
                .setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        myTextFieldNumericalScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.CLASSIFICATION_SCREEN) {
        udtea.setContentView(R.layout.classification_screen);
        udtea.initBackNextButtons();
        TextView myClassificationScreenTextView = (TextView) udtea.findViewById(R.id.classification_textview);
        myClassificationScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myClassificationScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        LinearLayout myClassificationLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.classification_linearlayout);
        int totalClassificationsInContainer = udtea.classificationContainer.size();
        for (int i = 0; i < totalClassificationsInContainer; i++) {
            TextView myTextView = new TextView(udtea.getBaseContext());
            //consider removing this code below; not needed; Mike, May 23, 2013
            myTextView = (TextView) UsbongUtils.applyTagsInView(UsbongDecisionTreeEngineActivity.getInstance(),
                    myTextView, UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

            int bulletCount = i + 1;
            if (UsbongUtils.USE_UNESCAPE) {
                myTextView.setText(bulletCount + ") " + StringEscapeUtils
                        .unescapeJava(udtea.classificationContainer.elementAt(i).toString()));
            } else {
                myTextView.setText(bulletCount + ") " + UsbongUtils
                        .trimUsbongNodeName(udtea.classificationContainer.elementAt(i).toString()));
            }

            //add 5 so that the text does not touch the left border
            myTextView.setPadding(udtea.padding_in_px, 0, 0, 0);
            myTextView.setTextSize(24);
            //                 myTextView.setTextColor(Color.WHITE);
            myTextView.setTextColor(Color.parseColor("#4a452a"));
            myClassificationLinearLayout.addView(myTextView);
        }
    } else if (udtea.currScreen == udtea.DCAT_SUMMARY_SCREEN) {
        udtea.setContentView(R.layout.dcat_summary_screen);
        udtea.initBackNextButtons();
        TextView myDCATSummaryScreenTextView = (TextView) udtea.findViewById(R.id.dcat_summary_textview);
        myDCATSummaryScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myDCATSummaryScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        udtea.myDcatSummaryStringBuffer = new StringBuffer();
        String weightsString = "1.9;2.1;2.6;1.8;2.4;1.8;.7;1.0;1.6;2.6;6.9;5.7;3.3;2.2;3.3;3.3;2;2;1.7;1.9;3.9;1.3;2.5;.8";
        StringTokenizer myWeightsStringTokenizer = new StringTokenizer(weightsString, ";");
        String myWeightString = myWeightsStringTokenizer.nextToken();
        //            
        //            while (st.hasMoreTokens()) {
        //               myStringToken = st.nextToken(); 
        //            }
        //
        double myWeightedScoreInt = 0;
        double myNegotiatedWeightedScoreInt = 0;
        double[][] dcatSum = new double[8][4];
        final int sumWeightedRatingIndex = 0;
        final int sumWeightedScoreIndex = 1;
        final int sumNegotiatedRatingIndex = 2;
        final int sumNegotiatedScoreIndex = 3;
        int currStandard = 0;//standard 1
        //            boolean hasReachedNegotiated=false;
        boolean hasReachedStandardTotal = false;
        LinearLayout myDCATSummaryLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.dcat_summary_linearlayout);
        int totalElementsInDCATSummaryBasedOnUsbongNodeContainer = udtea.usbongNodeContainer.size();
        //              for (int i=0; i<totalElementsInDCATSummaryBasedOnUsbongNodeContainer.usbongNodeContainer; i++) {                 
        for (int i = 0; i < totalElementsInDCATSummaryBasedOnUsbongNodeContainer; i++) {

            TextView myTextView = new TextView(udtea.getBaseContext());
            myTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
            myTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
            myTextView.setTextColor(Color.parseColor("#4a452a"));

            //the only way to check if the element is already the last item in the standard
            //is if the next element in the node container has "STANDARD", but not the first standard
            if ((i + 1 >= totalElementsInDCATSummaryBasedOnUsbongNodeContainer) || (i
                    + 1 < totalElementsInDCATSummaryBasedOnUsbongNodeContainer)
                    && ((udtea.usbongNodeContainer.elementAt(i + 1).toString().contains("STANDARD")))
                    && (!(udtea.usbongNodeContainer.elementAt(i + 1).toString().contains("STANDARD ONE")))) {
                int tempCurrStandard = currStandard + 1; //do a +1 since currStandard begins at 0

                TextView myIssuesTextView = new TextView(udtea.getBaseContext());

                //added by Mike, May 31, 2013
                if (!udtea.usbongAnswerContainer.elementAt(i).toString().contains("dcat_end,")) {

                    String s = udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", "");
                    s = s.replace("A,", "");
                    if (!s.equals("")) {
                        myIssuesTextView = (TextView) UsbongUtils.applyTagsInView(
                                UsbongDecisionTreeEngineActivity.getInstance(), myIssuesTextView,
                                UsbongUtils.IS_TEXTVIEW, "ISSUES: " + s + "{br}");
                    } else {
                        myIssuesTextView = (TextView) UsbongUtils.applyTagsInView(
                                UsbongDecisionTreeEngineActivity.getInstance(), myIssuesTextView,
                                UsbongUtils.IS_TEXTVIEW, "ISSUES: none{br}");
                    }

                    myIssuesTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
                    myIssuesTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
                    myIssuesTextView.setTextColor(Color.parseColor("#4a452a"));
                    myDCATSummaryLinearLayout.addView(myIssuesTextView);
                    udtea.myDcatSummaryStringBuffer.append(myIssuesTextView.getText().toString() + "\n");
                }

                if (myWeightsStringTokenizer.hasMoreElements()) {
                    //get the next weight
                    myWeightString = myWeightsStringTokenizer.nextToken();
                }

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "//--------------------" + " STANDARD " + tempCurrStandard + " (TOTAL){br}"
                                + "Total (Rating): "
                                + String.format("%.2f", dcatSum[currStandard][sumWeightedRatingIndex]) + "{br}"
                                + "Total (Weighted Score): "
                                + String.format("%.2f", dcatSum[currStandard][sumWeightedScoreIndex]) + "{br}"
                                + "Total (Negotiated Rating): "
                                + String.format("%.2f", dcatSum[currStandard][sumNegotiatedRatingIndex])
                                + "{br}" + "Total (Negotiated WS): "
                                + String.format("%.2f", dcatSum[currStandard][sumNegotiatedScoreIndex]) + "{br}"
                                + "//--------------------");
                hasReachedStandardTotal = true;
                currStandard++;
            }

            if (hasReachedStandardTotal) {
                hasReachedStandardTotal = false;
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("ISSUES")) {
                String s = udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", "");
                s = s.replace("A,", "");
                if (!s.equals("")) {
                    myTextView = (TextView) UsbongUtils.applyTagsInView(
                            UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                            "ISSUES: " + s + "{br}");
                } else {
                    myTextView = (TextView) UsbongUtils.applyTagsInView(
                            UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                            "ISSUES: none{br}");
                }

                if (myWeightsStringTokenizer.hasMoreElements()) {
                    //get the next weight
                    myWeightString = myWeightsStringTokenizer.nextToken();
                }
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("Weighted")) {
                TextView myWeightedTextView = new TextView(udtea.getBaseContext());
                myWeightedTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myWeightedTextView,
                        UsbongUtils.IS_TEXTVIEW,
                        udtea.usbongNodeContainer.elementAt(i).toString().replace("{br}(Weighted Score)", ""));
                myWeightedTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
                myWeightedTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
                myWeightedTextView.setTextColor(Color.parseColor("#4a452a"));

                myDCATSummaryLinearLayout.addView(myWeightedTextView);
                udtea.myDcatSummaryStringBuffer.append(myWeightedTextView.getText().toString() + "\n");

                int weightedAnswer;
                //added by Mike, July 8, 2013
                try {
                    weightedAnswer = Integer
                            .parseInt(udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", ""));
                } catch (Exception e) { //if there's no answer selected
                    weightedAnswer = 0;
                }
                if (weightedAnswer <= 0) {
                    weightedAnswer = 0;
                }

                //the weight is in double
                myWeightedScoreInt = weightedAnswer * Double.parseDouble(myWeightString);
                if (myWeightedScoreInt <= 0) {
                    myWeightedScoreInt = 0;
                    myTextView.setBackgroundColor(Color.YELLOW);
                }

                dcatSum[currStandard][sumWeightedRatingIndex] += weightedAnswer;
                dcatSum[currStandard][sumWeightedScoreIndex] += myWeightedScoreInt;

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "Weighted: " + myWeightedScoreInt);
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("Negotiated")) {
                //added by Mike, July 8, 2013
                int negotiatedAnswer;
                try {
                    negotiatedAnswer = Integer
                            .parseInt(udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", ""));
                } catch (Exception e) { //if there's no answer selected
                    negotiatedAnswer = 0;
                }
                if (negotiatedAnswer <= 0) {
                    negotiatedAnswer = 0;
                }

                //the weight is in double
                myNegotiatedWeightedScoreInt = negotiatedAnswer * Double.parseDouble(myWeightString);
                if (myNegotiatedWeightedScoreInt <= 0) {
                    myNegotiatedWeightedScoreInt = 0;
                    myTextView.setBackgroundColor(Color.YELLOW);
                }

                dcatSum[currStandard][sumNegotiatedRatingIndex] += negotiatedAnswer;
                dcatSum[currStandard][sumNegotiatedScoreIndex] += myNegotiatedWeightedScoreInt;

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "Negotiated: " + myNegotiatedWeightedScoreInt);
                //                    hasReachedNegotiated=true;
            } else {
                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        udtea.usbongNodeContainer.elementAt(i).toString() + "{br}");
            }

            //                 if (!hasReachedStandardTotal) {
            myDCATSummaryLinearLayout.addView(myTextView);
            udtea.myDcatSummaryStringBuffer.append(myTextView.getText().toString() + "\n");
            Log.d(">>>>>myTextView.getText().toString()", myTextView.getText().toString());
            //                 }
            //                 else {
            //                    hasReachedStandardTotal=false;
            //                 }
        }
    } else if (udtea.currScreen == udtea.DATE_SCREEN) {
        udtea.setContentView(R.layout.date_screen);
        udtea.initBackNextButtons();
        TextView myDateScreenTextView = (TextView) udtea.findViewById(R.id.date_textview);
        myDateScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myDateScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        //Reference: http://code.google.com/p/android/issues/detail?id=2037
        //last accessed: 21 Aug. 2012
        Configuration userConfig = new Configuration();
        Settings.System.getConfiguration(udtea.getContentResolver(), userConfig);
        Calendar date = Calendar.getInstance(userConfig.locale);
        //Reference: http://www.androidpeople.com/android-spinner-default-value;
        //last accessed: 21 Aug. 2012              
        //month-------------------------------
        int month = date.get(Calendar.MONTH); //first month of the year is 0
        Spinner dateMonthSpinner = (Spinner) udtea.findViewById(R.id.date_month_spinner);
        udtea.monthAdapter = ArrayAdapter.createFromResource(((Activity) udtea), R.array.months_array,
                android.R.layout.simple_spinner_item);
        //              udtea.monthAdapter  = ArrayAdapter.createFromResource(
        //                this, R.array.months_array, R.layout.date_textview);
        udtea.monthAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dateMonthSpinner.setAdapter(udtea.monthAdapter);
        dateMonthSpinner.setSelection(month);
        //              System.out.println(">>>>>>>>>>>>>> month"+month);
        //              Log.d(">>>>>>myStringToken",myStringToken);
        for (int i = 0; i < udtea.monthAdapter.getCount(); i++) {
            //                 Log.d(">>>>>>udtea.monthAdapter ",udtea.monthAdapter .getItem(i).toString());

            if (myStringToken.contains(udtea.monthAdapter.getItem(i).toString())) {
                dateMonthSpinner.setSelection(i);

                //added by Mike, March 4, 2013
                myStringToken = myStringToken.replace(udtea.monthAdapter.getItem(i).toString(), "");
            }
        }
        //-------------------------------------
        //day----------------------------------
        //Reference: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#MONTH
        //last accessed: 21 Aug 2012
        int day = date.get(Calendar.DAY_OF_MONTH); //first day of the month is 1
        day = day - 1; //do this to offset, when retrieving the day in strings.xml
        Spinner dateDaySpinner = (Spinner) udtea.findViewById(R.id.date_day_spinner);
        udtea.dayAdapter = ArrayAdapter.createFromResource(((Activity) udtea), R.array.day_array,
                android.R.layout.simple_spinner_item);
        udtea.dayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dateDaySpinner.setAdapter(udtea.dayAdapter);
        dateDaySpinner.setSelection(day);
        //              System.out.println(">>>>>>>>>>>>>> day"+day);
        //              Log.d(">>>>>myStringToken",myStringToken);
        //              System.out.println(">>>>>>>> myStringToken"+myStringToken);
        StringTokenizer myDateStringTokenizer = new StringTokenizer(myStringToken, ",");
        String myDayStringToken = "";
        if (!myStringToken.equals("")) {
            myDayStringToken = myDateStringTokenizer.nextToken();
        }
        for (int i = 0; i < udtea.dayAdapter.getCount(); i++) {
            if (myDayStringToken.contains(udtea.dayAdapter.getItem(i).toString())) {
                dateDaySpinner.setSelection(i);

                myStringToken = myStringToken.replace(udtea.dayAdapter.getItem(i).toString() + ",", "");
                //                    System.out.println(">>>>>>>>>>>myStringToken: "+myStringToken);
            }
        }
        //-------------------------------------            
        //year---------------------------------
        int year = date.get(Calendar.YEAR);
        EditText myDateYearEditText = (EditText) udtea.findViewById(R.id.date_edittext);
        myDateYearEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        //added by Mike, March 4, 2013
        if (myStringToken.equals("")) {
            myDateYearEditText.setText("" + year);
        } else {
            myDateYearEditText.setText(myStringToken);
        }
    } else if (udtea.currScreen == udtea.TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_display_screen);
        udtea.initBackNextButtons();
        TextView myTextDisplayScreenTextView = (TextView) udtea.findViewById(R.id.text_display_textview);
        myTextDisplayScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextDisplayScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

        //         Log.d(">>>>>","inside udtea.currScreen == udtea.TEXT_DISPLAY_SCREEN");
        //         myTextDisplayScreenTextView = (TextView) UsbongUtils.applyHintsInView(UsbongDecisionTreeEngineActivity.getInstance(), myTextDisplayScreenTextView, UsbongUtils.IS_TEXTVIEW);
        //         Log.d(">>>>>","after myTextDisplayScreenTextView");

    } else if (udtea.currScreen == udtea.TIMESTAMP_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.timestamp_display_screen);
        udtea.initBackNextButtons();
        TextView myTimeDisplayScreenTextView = (TextView) udtea.findViewById(R.id.time_display_textview);
        udtea.timestampString = UsbongUtils.getCurrTimeStamp();
        myTimeDisplayScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTimeDisplayScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode + "{br}" + udtea.timestampString);

    } else if (udtea.currScreen == udtea.SIMPLE_ENCRYPT_SCREEN) {
        udtea.setContentView(R.layout.simple_encrypt_screen);
        udtea.initBackNextButtons();
        TextView myEncryptScreenTextView = (TextView) udtea.findViewById(R.id.encrypt_textview);
        myEncryptScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myEncryptScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

        String message = "";
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageFILIPINO);
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageJAPANESE);
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageENGLISH);
        }

        new AlertDialog.Builder(udtea).setTitle("Hey!").setMessage(message)
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                }).show();

    } else if (udtea.currScreen == udtea.IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.image_display_screen);
        udtea.initBackNextButtons();
        ImageView myImageDisplayScreenImageView = (ImageView) udtea.findViewById(R.id.special_imageview);
        //              if (!UsbongUtils.setImageDisplay(myImageDisplayScreenImageView, myTree+".utree/res/" +UsbongUtils.getResName(udtea.currUsbongNode))) {
        if (!UsbongUtils.setImageDisplay(myImageDisplayScreenImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myImageDisplayScreenImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.CLICKABLE_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.clickable_image_display_screen);
        udtea.initBackNextButtons();
        ImageButton myClickableImageDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myClickableImageDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myClickableImageDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myClickableImageDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(),
                        new TextView(UsbongDecisionTreeEngineActivity.getInstance()), UsbongUtils.IS_TEXTVIEW,
                        udtea.currUsbongNode);
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.TEXT_CLICKABLE_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_clickable_image_display_screen);
        udtea.initBackNextButtons();
        TextView myTextClickableImageDisplayTextView = (TextView) udtea
                .findViewById(R.id.text_clickable_image_display_textview);
        myTextClickableImageDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextClickableImageDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageButton myTextClickableImageDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myTextClickableImageDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myTextClickableImageDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myTextClickableImageDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), new TextView(udtea),
                        UsbongUtils.IS_TEXTVIEW, UsbongUtils.getAlertName(udtea.currUsbongNode));
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.CLICKABLE_IMAGE_TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.clickable_image_text_display_screen);
        udtea.initBackNextButtons();
        TextView myClickableImageTextDisplayTextView = (TextView) udtea
                .findViewById(R.id.clickable_image_text_display_textview);
        myClickableImageTextDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myClickableImageTextDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageButton myClickableImageTextDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myClickableImageTextDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myClickableImageTextDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myClickableImageTextDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), new TextView(udtea),
                        UsbongUtils.IS_TEXTVIEW, UsbongUtils.getAlertName(udtea.currUsbongNode));
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.VIDEO_FROM_FILE_SCREEN) {
        udtea.setContentView(R.layout.video_from_file_screen);
        udtea.initBackNextButtons();
        VideoView myVideoFromFileScreenVideoView = (VideoView) udtea
                .findViewById(R.id.video_from_file_videoview);
        myVideoFromFileScreenVideoView.setVideoPath(
                UsbongUtils.getPathOfVideoFile(udtea.myTree, UsbongUtils.getResName(udtea.currUsbongNode)));
        //added by Mike, Sept. 9, 2013
        myVideoFromFileScreenVideoView.setMediaController(new MediaController(((Activity) udtea)));
        myVideoFromFileScreenVideoView.start();
    } else if (udtea.currScreen == udtea.VIDEO_FROM_FILE_WITH_TEXT_SCREEN) {
        udtea.setContentView(R.layout.video_from_file_with_text_screen);
        udtea.initBackNextButtons();
        TextView myVideoFromFileWithTextTextView = (TextView) udtea
                .findViewById(R.id.video_from_file_with_text_textview);
        myVideoFromFileWithTextTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myVideoFromFileWithTextTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        VideoView myVideoFromFileWithTextScreenVideoView = (VideoView) udtea
                .findViewById(R.id.video_from_file_with_text_videoview);
        myVideoFromFileWithTextScreenVideoView.setVideoPath(
                UsbongUtils.getPathOfVideoFile(udtea.myTree, UsbongUtils.getResName(udtea.currUsbongNode)));
        myVideoFromFileWithTextScreenVideoView.setMediaController(new MediaController(((Activity) udtea)));
        myVideoFromFileWithTextScreenVideoView.start();
    } else if (udtea.currScreen == udtea.TEXT_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_image_display_screen);
        udtea.initBackNextButtons();
        TextView myTextImageDisplayTextView = (TextView) udtea.findViewById(R.id.text_image_display_textview);
        myTextImageDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextImageDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageView myTextImageDisplayImageView = (ImageView) udtea.findViewById(R.id.image_display_imageview);
        //              if (!UsbongUtils.setImageDisplay(myTextImageDisplayImageView, myTree+".utree/res/" +UsbongUtils.getResName(udtea.currUsbongNode))) {
        if (!UsbongUtils.setImageDisplay(myTextImageDisplayImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myTextImageDisplayImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.IMAGE_TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.image_text_display_screen);
        udtea.initBackNextButtons();
        TextView myImageTextDisplayTextView = (TextView) udtea.findViewById(R.id.image_text_display_textview);
        myImageTextDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myImageTextDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageView myImageTextDisplayImageView = (ImageView) udtea.findViewById(R.id.image_display_imageview);

        if (!UsbongUtils.setImageDisplay(myImageTextDisplayImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myImageTextDisplayImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.GPS_LOCATION_SCREEN) {
        udtea.setContentView(R.layout.gps_location_screen);
        udtea.initBackNextButtons();
        TextView myGPSLocationTextView = (TextView) udtea.findViewById(R.id.gps_location_textview);
        myGPSLocationTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myGPSLocationTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        //         TextView myLongitudeTextView = (TextView)udtea.findViewById(R.id.longitude_textview);
        //         TextView myLatitudeTextView = (TextView)udtea.findViewById(R.id.latitude_textview);
        hasGottenGPSLocation = false;

        locationResult = new LocationResult() {
            @Override
            public void gotLocation(Location location) {
                //Got the location!
                System.out.println(">>>>>>>>>>>>>>>>>location: " + location);
                if (udtea.currScreen == udtea.GPS_LOCATION_SCREEN) {
                    if (location != null) {
                        myLongitude = location.getLongitude() + "";
                        myLatitude = location.getLatitude() + "";

                        myLongitudeTextView = (TextView) udtea.findViewById(R.id.longitude_textview);
                        myLatitudeTextView = (TextView) udtea.findViewById(R.id.latitude_textview);

                        hasGottenGPSLocation = true;

                        udtea.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                myLongitudeTextView.setText("long: " + myLongitude);
                                myLatitudeTextView.setText("lat: " + myLatitude);
                            }
                        });
                    } else {
                        Toast.makeText(UsbongDecisionTreeEngineActivity.getInstance(),
                                "Error getting location. Please make sure you are not inside a building.",
                                Toast.LENGTH_SHORT).show();
                    }
                } else {
                    hasGottenGPSLocation = true; //to stop the cycling progress bar
                }
            }
        };
        //         myLoadingProgressBar =  new ProgressBar(udtea);
        //         myLoadingProgressBar.setIndeterminate(false);
        //         myLoadingProgressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);         

        udtea.myLocation = new FedorMyLocation();
        udtea.myLocation.getLocation(udtea, locationResult);

        myLoadingProgressBar = (ProgressBar) udtea.findViewById(R.id.progressBar);
        new ProgressTask().execute();

    } else if (udtea.currScreen == udtea.YES_NO_DECISION_SCREEN) {
        udtea.setContentView(R.layout.yes_no_decision_screen);
        udtea.initBackNextButtons();
        TextView myYesNoDecisionScreenTextView = (TextView) udtea.findViewById(R.id.yes_no_decision_textview);
        myYesNoDecisionScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myYesNoDecisionScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioButton myYesRadioButton = (RadioButton) udtea.findViewById(R.id.yes_radiobutton);
        myYesRadioButton.setText(udtea.yesStringValue);
        myYesRadioButton.setTextSize(20);
        RadioButton myNoRadioButton = (RadioButton) udtea.findViewById(R.id.no_radiobutton);
        myNoRadioButton.setText(udtea.noStringValue);
        myNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            myNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            myYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.SEND_TO_CLOUD_BASED_SERVICE_SCREEN) {
        udtea.setContentView(R.layout.yes_no_decision_screen);
        udtea.initBackNextButtons();
        TextView mySendToCloudBasedServiceScreenTextView = (TextView) udtea
                .findViewById(R.id.yes_no_decision_textview);
        mySendToCloudBasedServiceScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), mySendToCloudBasedServiceScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioButton mySendToCloudBasedServiceScreenYesRadioButton = (RadioButton) udtea
                .findViewById(R.id.yes_radiobutton);
        mySendToCloudBasedServiceScreenYesRadioButton.setText(udtea.yesStringValue);
        mySendToCloudBasedServiceScreenYesRadioButton.setTextSize(20);
        RadioButton mySendToCloudBasedServiceScreenNoRadioButton = (RadioButton) udtea
                .findViewById(R.id.no_radiobutton);
        mySendToCloudBasedServiceScreenNoRadioButton.setText(udtea.noStringValue);
        mySendToCloudBasedServiceScreenNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            mySendToCloudBasedServiceScreenNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            mySendToCloudBasedServiceScreenYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.SEND_TO_WEBSERVER_SCREEN) {
        udtea.setContentView(R.layout.send_to_webserver_screen);
        udtea.initBackNextButtons();
        TextView mySendToWebserverScreenTextView = (TextView) udtea
                .findViewById(R.id.send_to_webserver_textview);
        mySendToWebserverScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), mySendToWebserverScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        TextView myWebserverURLScreenTextView = (TextView) udtea.findViewById(R.id.webserver_url_textview);

        if (!UsbongUtils.getDestinationServerURL().toString().equals("")) {
            myWebserverURLScreenTextView.setText("[" + UsbongUtils.getDestinationServerURL() + "]");
        } else {
            myWebserverURLScreenTextView.setText("[Warning: No URL specified in Settings.]");
        }

        RadioButton mySendToWebserverYesRadioButton = (RadioButton) udtea.findViewById(R.id.yes_radiobutton);
        mySendToWebserverYesRadioButton.setText(udtea.yesStringValue);
        mySendToWebserverYesRadioButton.setTextSize(20);
        RadioButton mySendToWebserverNoRadioButton = (RadioButton) udtea.findViewById(R.id.no_radiobutton);
        mySendToWebserverNoRadioButton.setText(udtea.noStringValue);
        mySendToWebserverNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            mySendToWebserverNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            mySendToWebserverYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.END_STATE_SCREEN) {
        udtea.setContentView(R.layout.end_state_screen);
        TextView endStateTextView = (TextView) udtea.findViewById(R.id.end_state_textview);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewENGLISH));
        }
        udtea.initBackNextButtons();
    }
    View myLayout = udtea.findViewById(R.id.parent_layout_id);
    if (!UsbongUtils.setBackgroundImage(myLayout, udtea.myTree, "bg")) {
        myLayout.setBackgroundResource(R.drawable.bg);//default bg
    }

    if ((!udtea.usedBackButton) && (!udtea.hasReturnedFromAnotherActivity)) {
        udtea.usbongNodeContainer.addElement(udtea.currUsbongNode);
        udtea.usbongNodeContainerCounter++;
    } else {
        udtea.usedBackButton = false;
        udtea.hasReturnedFromAnotherActivity = false;
    }
}

From source file:org.openhab.habdroid.ui.OpenHABWidgetAdapter.java

@SuppressWarnings("deprecation")
@Override//from  w  w w.  jav  a  2  s  . c o  m
public View getView(int position, View convertView, ViewGroup parent) {
    /* TODO: This definitely needs some huge refactoring */
    final RelativeLayout widgetView;
    TextView labelTextView;
    TextView valueTextView;
    int widgetLayout;
    String[] splitString;
    OpenHABWidget openHABWidget = getItem(position);
    int screenWidth = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
            .getDefaultDisplay().getWidth();
    switch (this.getItemViewType(position)) {
    case TYPE_FRAME:
        widgetLayout = R.layout.openhabwidgetlist_frameitem;
        break;
    case TYPE_GROUP:
        widgetLayout = R.layout.openhabwidgetlist_groupitem;
        break;
    case TYPE_SECTIONSWITCH:
        widgetLayout = R.layout.openhabwidgetlist_sectionswitchitem;
        break;
    case TYPE_SWITCH:
        widgetLayout = R.layout.openhabwidgetlist_switchitem;
        break;
    case TYPE_ROLLERSHUTTER:
        widgetLayout = R.layout.openhabwidgetlist_rollershutteritem;
        break;
    case TYPE_TEXT:
        widgetLayout = R.layout.openhabwidgetlist_textitem;
        break;
    case TYPE_SLIDER:
        widgetLayout = R.layout.openhabwidgetlist_slideritem;
        break;
    case TYPE_IMAGE:
        widgetLayout = R.layout.openhabwidgetlist_imageitem;
        break;
    case TYPE_SELECTION:
        widgetLayout = R.layout.openhabwidgetlist_selectionitem;
        break;
    case TYPE_SETPOINT:
        widgetLayout = R.layout.openhabwidgetlist_setpointitem;
        break;
    case TYPE_CHART:
        widgetLayout = R.layout.openhabwidgetlist_chartitem;
        break;
    case TYPE_VIDEO:
        widgetLayout = R.layout.openhabwidgetlist_videoitem;
        break;
    case TYPE_VIDEO_MJPEG:
        widgetLayout = R.layout.openhabwidgetlist_videomjpegitem;
        break;
    case TYPE_WEB:
        widgetLayout = R.layout.openhabwidgetlist_webitem;
        break;
    case TYPE_COLOR:
        widgetLayout = R.layout.openhabwidgetlist_coloritem;
        break;
    default:
        widgetLayout = R.layout.openhabwidgetlist_genericitem;
        break;
    }
    if (convertView == null) {
        widgetView = new RelativeLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater vi;
        vi = (LayoutInflater) getContext().getSystemService(inflater);
        vi.inflate(widgetLayout, widgetView, true);
    } else {
        widgetView = (RelativeLayout) convertView;
    }

    // Process the colour attributes
    Integer iconColor = openHABWidget.getIconColor();
    Integer labelColor = openHABWidget.getLabelColor();
    Integer valueColor = openHABWidget.getValueColor();

    // Process widgets icon image
    MySmartImageView widgetImage = (MySmartImageView) widgetView.findViewById(R.id.widgetimage);
    // Some of widgets, for example Frame doesnt' have an icon, so...
    if (widgetImage != null) {
        if (openHABWidget.getIcon() != null) {
            // This is needed to escape possible spaces and everything according to rfc2396
            String iconUrl = openHABBaseUrl + "images/" + Uri.encode(openHABWidget.getIcon() + ".png");
            //                Log.d(TAG, "Will try to load icon from " + iconUrl);
            // Now set image URL
            widgetImage.setImageUrl(iconUrl, R.drawable.blank_icon, openHABUsername, openHABPassword);
            if (iconColor != null)
                widgetImage.setColorFilter(iconColor);
            else
                widgetImage.clearColorFilter();
        }
    }
    TextView defaultTextView = new TextView(widgetView.getContext());
    // Get TextView for widget label and set it's color
    labelTextView = (TextView) widgetView.findViewById(R.id.widgetlabel);
    // Change label color only for non-frame widgets
    if (labelColor != null && labelTextView != null && this.getItemViewType(position) != TYPE_FRAME) {
        Log.d(TAG, String.format("Setting label color to %d", labelColor));
        labelTextView.setTextColor(labelColor);
    } else if (labelTextView != null && this.getItemViewType(position) != TYPE_FRAME)
        labelTextView.setTextColor(defaultTextView.getTextColors().getDefaultColor());
    // Get TextView for widget value and set it's color
    valueTextView = (TextView) widgetView.findViewById(R.id.widgetvalue);
    if (valueColor != null && valueTextView != null) {
        Log.d(TAG, String.format("Setting value color to %d", valueColor));
        valueTextView.setTextColor(valueColor);
    } else if (valueTextView != null)
        valueTextView.setTextColor(defaultTextView.getTextColors().getDefaultColor());
    defaultTextView = null;
    switch (getItemViewType(position)) {
    case TYPE_FRAME:
        if (labelTextView != null) {
            labelTextView.setText(openHABWidget.getLabel());
            if (valueColor != null)
                labelTextView.setTextColor(valueColor);
        }
        widgetView.setClickable(false);
        if (openHABWidget.getLabel().length() > 0) { // hide empty frames
            widgetView.setVisibility(View.VISIBLE);
            labelTextView.setVisibility(View.VISIBLE);
        } else {
            widgetView.setVisibility(View.GONE);
            labelTextView.setVisibility(View.GONE);
        }
        break;
    case TYPE_GROUP:
        if (labelTextView != null && valueTextView != null) {
            splitString = openHABWidget.getLabel().split("\\[|\\]");
            labelTextView.setText(splitString[0]);
            if (splitString.length > 1) { // We have some value
                valueTextView.setText(splitString[1]);
            } else {
                // This is needed to clean up cached TextViews
                valueTextView.setText("");
            }
        }
        break;
    case TYPE_SECTIONSWITCH:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        if (splitString.length > 1 && valueTextView != null) { // We have some value
            valueTextView.setText(splitString[1]);
        } else {
            // This is needed to clean up cached TextViews
            valueTextView.setText("");
        }
        RadioGroup sectionSwitchRadioGroup = (RadioGroup) widgetView.findViewById(R.id.sectionswitchradiogroup);
        // As we create buttons in this radio in runtime, we need to remove all
        // exiting buttons first
        sectionSwitchRadioGroup.removeAllViews();
        sectionSwitchRadioGroup.setTag(openHABWidget);
        Iterator<OpenHABWidgetMapping> sectionMappingIterator = openHABWidget.getMappings().iterator();
        while (sectionMappingIterator.hasNext()) {
            OpenHABWidgetMapping widgetMapping = sectionMappingIterator.next();
            SegmentedControlButton segmentedControlButton = (SegmentedControlButton) LayoutInflater
                    .from(sectionSwitchRadioGroup.getContext())
                    .inflate(R.layout.openhabwidgetlist_sectionswitchitem_button, sectionSwitchRadioGroup,
                            false);
            segmentedControlButton.setText(widgetMapping.getLabel());
            segmentedControlButton.setTag(widgetMapping.getCommand());
            if (openHABWidget.getItem() != null && widgetMapping.getCommand() != null) {
                if (widgetMapping.getCommand().equals(openHABWidget.getItem().getState())) {
                    segmentedControlButton.setChecked(true);
                } else {
                    segmentedControlButton.setChecked(false);
                }
            } else {
                segmentedControlButton.setChecked(false);
            }
            segmentedControlButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.i(TAG, "Button clicked");
                    RadioGroup group = (RadioGroup) view.getParent();
                    if (group.getTag() != null) {
                        OpenHABWidget radioWidget = (OpenHABWidget) group.getTag();
                        SegmentedControlButton selectedButton = (SegmentedControlButton) view;
                        if (selectedButton.getTag() != null) {
                            sendItemCommand(radioWidget.getItem(), (String) selectedButton.getTag());
                        }
                    }
                }
            });
            sectionSwitchRadioGroup.addView(segmentedControlButton);
        }

        sectionSwitchRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                OpenHABWidget radioWidget = (OpenHABWidget) group.getTag();
                SegmentedControlButton selectedButton = (SegmentedControlButton) group.findViewById(checkedId);
                if (selectedButton != null) {
                    Log.d(TAG, "Selected " + selectedButton.getText());
                    Log.d(TAG, "Command = " + (String) selectedButton.getTag());
                    //                  radioWidget.getItem().sendCommand((String)selectedButton.getTag());
                    sendItemCommand(radioWidget.getItem(), (String) selectedButton.getTag());
                }
            }
        });
        break;
    case TYPE_SWITCH:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        SwitchCompat switchSwitch = (SwitchCompat) widgetView.findViewById(R.id.switchswitch);
        if (openHABWidget.hasItem()) {
            if (openHABWidget.getItem().getStateAsBoolean()) {
                switchSwitch.setChecked(true);
            } else {
                switchSwitch.setChecked(false);
            }
        }
        switchSwitch.setTag(openHABWidget.getItem());
        switchSwitch.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                SwitchCompat switchSwitch = (SwitchCompat) v;
                OpenHABItem linkedItem = (OpenHABItem) switchSwitch.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    if (!switchSwitch.isChecked()) {
                        sendItemCommand(linkedItem, "ON");
                    } else {
                        sendItemCommand(linkedItem, "OFF");
                    }
                return false;
            }
        });
        break;
    case TYPE_COLOR:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        ImageButton colorUpButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_up);
        ImageButton colorDownButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_down);
        ImageButton colorColorButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_color);
        colorUpButton.setTag(openHABWidget.getItem());
        colorDownButton.setTag(openHABWidget.getItem());
        colorColorButton.setTag(openHABWidget.getItem());
        colorUpButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(colorItem, "ON");
                return false;
            }
        });
        colorDownButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(colorItem, "OFF");
                return false;
            }
        });
        colorColorButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (colorItem != null) {
                    if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP) {
                        Log.d(TAG, "Time to launch color picker!");
                        ColorPickerDialog colorDialog = new ColorPickerDialog(widgetView.getContext(),
                                new OnColorChangedListener() {
                                    public void colorChanged(float[] hsv, View v) {
                                        Log.d(TAG, "New color HSV = " + hsv[0] + ", " + hsv[1] + ", " + hsv[2]);
                                        String newColor = String.valueOf(hsv[0]) + ","
                                                + String.valueOf(hsv[1] * 100) + ","
                                                + String.valueOf(hsv[2] * 100);
                                        OpenHABItem colorItem = (OpenHABItem) v.getTag();
                                        sendItemCommand(colorItem, newColor);
                                    }
                                }, colorItem.getStateAsHSV());
                        colorDialog.setTag(colorItem);
                        colorDialog.show();
                    }
                }
                return false;
            }
        });
        break;
    case TYPE_ROLLERSHUTTER:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        ImageButton rollershutterUpButton = (ImageButton) widgetView.findViewById(R.id.rollershutterbutton_up);
        ImageButton rollershutterStopButton = (ImageButton) widgetView
                .findViewById(R.id.rollershutterbutton_stop);
        ImageButton rollershutterDownButton = (ImageButton) widgetView
                .findViewById(R.id.rollershutterbutton_down);
        rollershutterUpButton.setTag(openHABWidget.getItem());
        rollershutterStopButton.setTag(openHABWidget.getItem());
        rollershutterDownButton.setTag(openHABWidget.getItem());
        rollershutterUpButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "UP");
                return false;
            }
        });
        rollershutterStopButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "STOP");
                return false;
            }
        });
        rollershutterDownButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "DOWN");
                return false;
            }
        });
        break;
    case TYPE_TEXT:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            if (splitString.length > 0) {
                labelTextView.setText(splitString[0]);
            } else {
                labelTextView.setText(openHABWidget.getLabel());
            }
        if (valueTextView != null)
            if (splitString.length > 1) {
                // If value is not empty, show TextView
                valueTextView.setVisibility(View.VISIBLE);
                valueTextView.setText(splitString[1]);
            } else {
                // If value is empty, hide TextView to fix vertical alignment of label
                valueTextView.setVisibility(View.GONE);
                valueTextView.setText("");
            }
        break;
    case TYPE_SLIDER:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        SeekBar sliderSeekBar = (SeekBar) widgetView.findViewById(R.id.sliderseekbar);
        if (openHABWidget.hasItem()) {
            sliderSeekBar.setTag(openHABWidget.getItem());
            sliderSeekBar.setProgress(openHABWidget.getItem().getStateAsFloat().intValue());
            sliderSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                }

                public void onStartTrackingTouch(SeekBar seekBar) {
                    Log.d(TAG, "onStartTrackingTouch position = " + seekBar.getProgress());
                }

                public void onStopTrackingTouch(SeekBar seekBar) {
                    Log.d(TAG, "onStopTrackingTouch position = " + seekBar.getProgress());
                    OpenHABItem sliderItem = (OpenHABItem) seekBar.getTag();
                    //                     sliderItem.sendCommand(String.valueOf(seekBar.getProgress()));
                    if (sliderItem != null && seekBar != null)
                        sendItemCommand(sliderItem, String.valueOf(seekBar.getProgress()));
                }
            });
            if (volumeUpWidget == null) {
                volumeUpWidget = sliderSeekBar;
                volumeDownWidget = sliderSeekBar;
            }
        }
        break;
    case TYPE_IMAGE:
        MySmartImageView imageImage = (MySmartImageView) widgetView.findViewById(R.id.imageimage);
        imageImage.setImageUrl(ensureAbsoluteURL(openHABBaseUrl, openHABWidget.getUrl()), false,
                openHABUsername, openHABPassword);
        //          ViewGroup.LayoutParams imageLayoutParams = imageImage.getLayoutParams();
        //          float imageRatio = imageImage.getDrawable().getIntrinsicWidth()/imageImage.getDrawable().getIntrinsicHeight();
        //          imageLayoutParams.height = (int) (screenWidth/imageRatio);
        //          imageImage.setLayoutParams(imageLayoutParams);
        if (openHABWidget.getRefresh() > 0) {
            imageImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(imageImage);
        }
        break;
    case TYPE_CHART:
        MySmartImageView chartImage = (MySmartImageView) widgetView.findViewById(R.id.chartimage);
        //Always clear the drawable so no images from recycled views appear
        chartImage.setImageDrawable(null);
        OpenHABItem chartItem = openHABWidget.getItem();
        Random random = new Random();
        String chartUrl = "";
        if (chartItem != null) {
            if (chartItem.getType().equals("GroupItem")) {
                chartUrl = openHABBaseUrl + "chart?groups=" + chartItem.getName() + "&period="
                        + openHABWidget.getPeriod() + "&random=" + String.valueOf(random.nextInt());
            } else {
                chartUrl = openHABBaseUrl + "chart?items=" + chartItem.getName() + "&period="
                        + openHABWidget.getPeriod() + "&random=" + String.valueOf(random.nextInt());
            }
            if (openHABWidget.getService() != null && openHABWidget.getService().length() > 0) {
                chartUrl += "&service=" + openHABWidget.getService();
            }
        }
        Log.d(TAG, "Chart url = " + chartUrl);
        if (chartImage == null)
            Log.e(TAG, "chartImage == null !!!");
        ViewGroup.LayoutParams chartLayoutParams = chartImage.getLayoutParams();
        chartLayoutParams.height = (int) (screenWidth / 2);
        chartImage.setLayoutParams(chartLayoutParams);
        chartUrl += "&w=" + String.valueOf(screenWidth);
        chartUrl += "&h=" + String.valueOf(screenWidth / 2);
        chartImage.setImageUrl(chartUrl, false, openHABUsername, openHABPassword);
        // TODO: This is quite dirty fix to make charts look full screen width on all displays
        if (openHABWidget.getRefresh() > 0) {
            chartImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(chartImage);
        }
        Log.d(TAG, "chart size = " + chartLayoutParams.width + " " + chartLayoutParams.height);
        break;
    case TYPE_VIDEO:
        VideoView videoVideo = (VideoView) widgetView.findViewById(R.id.videovideo);
        Log.d(TAG, "Opening video at " + openHABWidget.getUrl());
        // TODO: This is quite dirty fix to make video look maximum available size on all screens
        WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
        ViewGroup.LayoutParams videoLayoutParams = videoVideo.getLayoutParams();
        videoLayoutParams.height = (int) (wm.getDefaultDisplay().getWidth() / 1.77);
        videoVideo.setLayoutParams(videoLayoutParams);
        // We don't have any event handler to know if the VideoView is on the screen
        // so we manage an array of all videos to stop them when user leaves the page
        if (!videoWidgetList.contains(videoVideo))
            videoWidgetList.add(videoVideo);
        // Start video
        if (!videoVideo.isPlaying()) {
            videoVideo.setVideoURI(Uri.parse(openHABWidget.getUrl()));
            videoVideo.start();
        }
        Log.d(TAG, "Video height is " + videoVideo.getHeight());
        break;
    case TYPE_VIDEO_MJPEG:
        Log.d(TAG, "Video is mjpeg");
        ImageView mjpegImage = (ImageView) widgetView.findViewById(R.id.mjpegimage);
        MjpegStreamer mjpegStreamer = new MjpegStreamer(openHABWidget.getUrl(), this.openHABUsername,
                this.openHABPassword, this.getContext());
        mjpegStreamer.setTargetImageView(mjpegImage);
        mjpegStreamer.start();
        if (!mjpegWidgetList.contains(mjpegStreamer))
            mjpegWidgetList.add(mjpegStreamer);
        break;
    case TYPE_WEB:
        WebView webWeb = (WebView) widgetView.findViewById(R.id.webweb);
        if (openHABWidget.getHeight() > 0) {
            ViewGroup.LayoutParams webLayoutParams = webWeb.getLayoutParams();
            webLayoutParams.height = openHABWidget.getHeight() * 80;
            webWeb.setLayoutParams(webLayoutParams);
        }
        webWeb.setWebViewClient(
                new AnchorWebViewClient(openHABWidget.getUrl(), this.openHABUsername, this.openHABPassword));
        webWeb.getSettings().setJavaScriptEnabled(true);
        webWeb.loadUrl(openHABWidget.getUrl());
        break;
    case TYPE_SELECTION:
        int spinnerSelectedIndex = -1;
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        final Spinner selectionSpinner = (Spinner) widgetView.findViewById(R.id.selectionspinner);
        selectionSpinner.setOnItemSelectedListener(null);
        ArrayList<String> spinnerArray = new ArrayList<String>();
        Iterator<OpenHABWidgetMapping> mappingIterator = openHABWidget.getMappings().iterator();
        while (mappingIterator.hasNext()) {
            OpenHABWidgetMapping openHABWidgetMapping = mappingIterator.next();
            spinnerArray.add(openHABWidgetMapping.getLabel());
            if (openHABWidgetMapping.getCommand() != null && openHABWidget.getItem() != null)
                if (openHABWidgetMapping.getCommand().equals(openHABWidget.getItem().getState())) {
                    spinnerSelectedIndex = spinnerArray.size() - 1;
                }
        }
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this.getContext(),
                android.R.layout.simple_spinner_item, spinnerArray);
        spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        selectionSpinner.setAdapter(spinnerAdapter);
        selectionSpinner.setTag(openHABWidget);
        if (spinnerSelectedIndex >= 0) {
            Log.d(TAG, "Setting spinner selected index to " + String.valueOf(spinnerSelectedIndex));
            selectionSpinner.setSelection(spinnerSelectedIndex);
        } else {
            Log.d(TAG, "Not setting spinner selected index");
        }
        selectionSpinner.post(new Runnable() {
            @Override
            public void run() {
                selectionSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                    public void onItemSelected(AdapterView<?> parent, View view, int index, long id) {
                        Log.d(TAG, "Spinner item click on index " + index);
                        Spinner spinner = (Spinner) parent;
                        String selectedLabel = (String) spinner.getAdapter().getItem(index);
                        Log.d(TAG, "Spinner onItemSelected selected label = " + selectedLabel);
                        OpenHABWidget openHABWidget = (OpenHABWidget) parent.getTag();
                        if (openHABWidget != null) {
                            Log.d(TAG, "Label selected = " + openHABWidget.getMapping(index).getLabel());
                            Iterator<OpenHABWidgetMapping> mappingIterator = openHABWidget.getMappings()
                                    .iterator();
                            while (mappingIterator.hasNext()) {
                                OpenHABWidgetMapping openHABWidgetMapping = mappingIterator.next();
                                if (openHABWidgetMapping.getLabel().equals(selectedLabel)) {
                                    Log.d(TAG, "Spinner onItemSelected found match with "
                                            + openHABWidgetMapping.getCommand());
                                    if (openHABWidget.getItem() != null
                                            && openHABWidget.getItem().getState() != null) {
                                        // Only send the command for selection of selected command will change the state
                                        if (!openHABWidget.getItem().getState()
                                                .equals(openHABWidgetMapping.getCommand())) {
                                            Log.d(TAG,
                                                    "Spinner onItemSelected selected label command != current item state");
                                            sendItemCommand(openHABWidget.getItem(),
                                                    openHABWidgetMapping.getCommand());
                                        }
                                    } else if (openHABWidget.getItem() != null
                                            && openHABWidget.getItem().getState() == null) {
                                        Log.d(TAG,
                                                "Spinner onItemSelected selected label command and state == null");
                                        sendItemCommand(openHABWidget.getItem(),
                                                openHABWidgetMapping.getCommand());
                                    }
                                }
                            }
                        }
                        //               if (!openHABWidget.getItem().getState().equals(openHABWidget.getMapping(index).getCommand()))
                        //                  sendItemCommand(openHABWidget.getItem(),
                        //                        openHABWidget.getMapping(index).getCommand());
                    }

                    public void onNothingSelected(AdapterView<?> arg0) {
                    }
                });
            }
        });
        break;
    case TYPE_SETPOINT:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        if (valueTextView != null)
            if (splitString.length > 1) {
                // If value is not empty, show TextView
                valueTextView.setVisibility(View.VISIBLE);
                valueTextView.setText(splitString[1]);
            }
        Button setPointMinusButton = (Button) widgetView.findViewById(R.id.setpointbutton_minus);
        Button setPointPlusButton = (Button) widgetView.findViewById(R.id.setpointbutton_plus);
        setPointMinusButton.setTag(openHABWidget);
        setPointPlusButton.setTag(openHABWidget);
        setPointMinusButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Log.d(TAG, "Minus");
                OpenHABWidget setPointWidget = (OpenHABWidget) v.getTag();
                float currentValue = setPointWidget.getItem().getStateAsFloat();
                currentValue = currentValue - setPointWidget.getStep();
                if (currentValue < setPointWidget.getMinValue())
                    currentValue = setPointWidget.getMinValue();
                if (currentValue > setPointWidget.getMaxValue())
                    currentValue = setPointWidget.getMaxValue();
                sendItemCommand(setPointWidget.getItem(), String.valueOf(currentValue));

            }
        });
        setPointPlusButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Log.d(TAG, "Plus");
                OpenHABWidget setPointWidget = (OpenHABWidget) v.getTag();
                float currentValue = setPointWidget.getItem().getStateAsFloat();
                currentValue = currentValue + setPointWidget.getStep();
                if (currentValue < setPointWidget.getMinValue())
                    currentValue = setPointWidget.getMinValue();
                if (currentValue > setPointWidget.getMaxValue())
                    currentValue = setPointWidget.getMaxValue();
                sendItemCommand(setPointWidget.getItem(), String.valueOf(currentValue));
            }
        });
        if (volumeUpWidget == null) {
            volumeUpWidget = setPointPlusButton;
            volumeDownWidget = setPointMinusButton;
        }
        break;
    default:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        break;
    }
    LinearLayout dividerLayout = (LinearLayout) widgetView.findViewById(R.id.listdivider);
    if (dividerLayout != null) {
        if (position < this.getCount() - 1) {
            if (this.getItemViewType(position + 1) == TYPE_FRAME) {
                dividerLayout.setVisibility(View.GONE); // hide dividers before frame widgets
            } else {
                dividerLayout.setVisibility(View.VISIBLE); // show dividers for all others
            }
        } else { // last widget in the list, hide divider
            dividerLayout.setVisibility(View.GONE);
        }
    }
    return widgetView;
}

From source file:usbong.android.retrocc.UsbongDecisionTreeEngineActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mTts.isSpeaking()) {
        mTts.stop();//  w  ww .ja  v a 2s  . c  om
    }

    StringBuffer sb = new StringBuffer();
    switch (item.getItemId()) {
    /*      
             case(R.id.set_language):   
    initSetLanguage();
    //refresh the menu options
    supportInvalidateOptionsMenu(); //added by Mike, 20160507
    invalidateOptionsMenu();
    return true;
             case(R.id.speak):
    processSpeak(sb);
    return true;
             case(R.id.settings):
    //20160417
    //Reference: http://stackoverflow.com/questions/16954196/alertdialog-with-checkbox-in-android;
    //last accessed: 20160408; answer by: kamal; edited by: Empty2K12
    final CharSequence[] items = {UsbongConstants.AUTO_NARRATE_STRING, UsbongConstants.AUTO_PLAY_STRING, UsbongConstants.AUTO_LOOP_STRING};
    // arraylist to keep the selected items
    selectedSettingsItems=new ArrayList<Integer>();
            
    //check saved settings
    if (UsbongUtils.IS_IN_AUTO_NARRATE_MODE) {               
       selectedSettingsItems.add(UsbongConstants.AUTO_NARRATE);         
    }
    if (UsbongUtils.IS_IN_AUTO_PLAY_MODE) {
       selectedSettingsItems.add(UsbongConstants.AUTO_PLAY);   
       selectedSettingsItems.add(UsbongConstants.AUTO_NARRATE); //if AUTO_PLAY is checked, AUTO_NARRATE should also be checked
     }                       
    if (UsbongUtils.IS_IN_AUTO_LOOP_MODE) {               
       selectedSettingsItems.add(UsbongConstants.AUTO_LOOP);         
    }
             
     selectedSettingsItemsInBoolean = new boolean[items.length];
     for(int k=0; k<items.length; k++) {
        selectedSettingsItemsInBoolean[k] = false;                   
     }
     for(int i=0; i<selectedSettingsItems.size(); i++) {
        selectedSettingsItemsInBoolean[selectedSettingsItems.get(i)] = true;
     }
                       
    inAppSettingsDialog = new AlertDialog.Builder(this)
    .setTitle("Settings")
    .setMultiChoiceItems(items, selectedSettingsItemsInBoolean, new DialogInterface.OnMultiChoiceClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) {
           Log.d(">>>","onClick");
            
           if (isChecked) {
                // If the user checked the item, add it to the selected items
                selectedSettingsItems.add(indexSelected);
                if ((indexSelected==UsbongConstants.AUTO_PLAY) 
                     && !selectedSettingsItems.contains(UsbongConstants.AUTO_NARRATE)) {
                    final ListView list = inAppSettingsDialog.getListView();
                    list.setItemChecked(UsbongConstants.AUTO_NARRATE, true);
                }                       
            } else if (selectedSettingsItems.contains(indexSelected)) {
               if ((indexSelected==UsbongConstants.AUTO_NARRATE) 
                  && selectedSettingsItems.contains(UsbongConstants.AUTO_PLAY)) {
                    final ListView list = inAppSettingsDialog.getListView();
                    list.setItemChecked(indexSelected, false);
               }
               else {           
                   // Else, if the item is already in the array, remove it
                   selectedSettingsItems.remove(Integer.valueOf(indexSelected));
               }
            }
                    
            //updated selectedSettingsItemsInBoolean
           for(int k=0; k<items.length; k++) {
              selectedSettingsItemsInBoolean[k] = false;                   
           }
           for(int i=0; i<selectedSettingsItems.size(); i++) {
              selectedSettingsItemsInBoolean[selectedSettingsItems.get(i)] = true;
           }
        }
    }).setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int id) {
            try {          
              InputStreamReader reader = UsbongUtils.getFileFromSDCardAsReader(UsbongUtils.BASE_FILE_PATH + "usbong.config");   
              BufferedReader br = new BufferedReader(reader);          
               String currLineString;           
            
               //write first to a temporary file
             PrintWriter out = UsbongUtils.getFileFromSDCardAsWriter(UsbongUtils.BASE_FILE_PATH + "usbong.config" +"TEMP");
            
               while((currLineString=br.readLine())!=null)
               {    
                  Log.d(">>>", "currLineString: "+currLineString);
                if ((currLineString.contains("IS_IN_AUTO_NARRATE_MODE="))
                || (currLineString.contains("IS_IN_AUTO_PLAY_MODE="))
                || (currLineString.contains("IS_IN_AUTO_LOOP_MODE="))) {
                   continue;
                }   
                else {
                   out.println(currLineString);                       
                }
               }                       
            
             for (int i=0; i<items.length; i++) {
                Log.d(">>>>", i+"");
                if (selectedSettingsItemsInBoolean[i]==true) {
                   if (i==UsbongConstants.AUTO_NARRATE) {
                       out.println("IS_IN_AUTO_NARRATE_MODE=ON");
                       UsbongUtils.IS_IN_AUTO_NARRATE_MODE=true;                     
                   }                        
                   else if (i==UsbongConstants.AUTO_PLAY) {
                       out.println("IS_IN_AUTO_PLAY_MODE=ON");
                       UsbongUtils.IS_IN_AUTO_PLAY_MODE=true;                  
                   }   
                   else if (i==UsbongConstants.AUTO_LOOP) {
                       out.println("IS_IN_AUTO_LOOP_MODE=ON");
                       UsbongUtils.IS_IN_AUTO_LOOP_MODE=true;                  
                   }
                }
                else {
                   if (i==UsbongConstants.AUTO_NARRATE) {
                       out.println("IS_IN_AUTO_NARRATE_MODE=OFF");
                       UsbongUtils.IS_IN_AUTO_NARRATE_MODE=false;                                             
                   }                     
                   else if (i==UsbongConstants.AUTO_PLAY) {
                       out.println("IS_IN_AUTO_PLAY_MODE=OFF");
                       UsbongUtils.IS_IN_AUTO_PLAY_MODE=false;   
                   }
                   else if (i==UsbongConstants.AUTO_LOOP) {
                       out.println("IS_IN_AUTO_LOOP_MODE=OFF");
                       UsbongUtils.IS_IN_AUTO_LOOP_MODE=false;   
                   }
                }            
             }               
              out.close(); //remember to close
                      
              //copy temp file to actual usbong.config file
              InputStreamReader reader2 = UsbongUtils.getFileFromSDCardAsReader(UsbongUtils.BASE_FILE_PATH + "usbong.config"+"TEMP");   
              BufferedReader br2 = new BufferedReader(reader2);          
               String currLineString2;           
            
               //write to actual usbong.config file
             PrintWriter out2 = UsbongUtils.getFileFromSDCardAsWriter(UsbongUtils.BASE_FILE_PATH + "usbong.config");
            
               while((currLineString2=br2.readLine())!=null)
               {    
                out2.println(currLineString2);                       
               }                    
               out2.close();
                       
               UsbongUtils.deleteRecursive(new File(UsbongUtils.BASE_FILE_PATH + "usbong.config"+"TEMP"));
           }
           catch(Exception e) {
              e.printStackTrace();
           }                
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int id) {
            //  Your code when user clicked on Cancel
        }
    }).create();
    inAppSettingsDialog.show();
    return true;
    */
    case (R.id.about):
        new AlertDialog.Builder(UsbongDecisionTreeEngineActivity.this).setTitle("About")
                .setMessage(UsbongUtils.readTextFileInAssetsFolder(UsbongDecisionTreeEngineActivity.this,
                        "credits.txt")) //don't add a '/', otherwise the file would not be found
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                }).show();
        return true;
    case (R.id.account):
        final EditText firstName = new EditText(this);
        firstName.setHint("First Name");
        final EditText surName = new EditText(this);
        surName.setHint("Surname");
        final EditText contactNumber = new EditText(this);
        contactNumber.setHint("Contact Number");
        contactNumber.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

        //added by Mike, 20170223
        final RadioGroup preference = new RadioGroup(this);
        preference.setOrientation(RadioGroup.HORIZONTAL);

        RadioButton meetup = new AppCompatRadioButton(this);
        meetup.setText("Meet-up");
        preference.addView(meetup);

        RadioButton shipping = new AppCompatRadioButton(this);
        shipping.setText("Shipping");
        preference.addView(shipping);

        final EditText shippingAddress = new EditText(this);
        shippingAddress.setHint("Shipping Address");
        shippingAddress.setMinLines(5);

        //added by Mike, 20170223
        final RadioGroup modeOfPayment = new RadioGroup(this);
        modeOfPayment.setOrientation(RadioGroup.VERTICAL);

        RadioButton cashUponMeetup = new AppCompatRadioButton(this);
        cashUponMeetup.setText("Cash upon meet-up");
        modeOfPayment.addView(cashUponMeetup);

        RadioButton bankDeposit = new AppCompatRadioButton(this);
        bankDeposit.setText("Bank Deposit");
        modeOfPayment.addView(bankDeposit);

        RadioButton peraPadala = new AppCompatRadioButton(this);
        peraPadala.setText("Pera Padala");
        modeOfPayment.addView(peraPadala);

        //Reference: http://stackoverflow.com/questions/23024831/android-shared-preferences-example
        //; last accessed: 20150609
        //answer by Elenasys
        //added by Mike, 20150207
        SharedPreferences prefs = getSharedPreferences(UsbongConstants.MY_ACCOUNT_DETAILS, MODE_PRIVATE);
        if (prefs != null) {
            firstName.setText(prefs.getString("firstName", ""));//"" is the default value.
            surName.setText(prefs.getString("surname", "")); //"" is the default value.
            contactNumber.setText(prefs.getString("contactNumber", "")); //"" is the default value.

            //added by Mike, 20170223
            ((RadioButton) preference.getChildAt(prefs.getInt("preference", UsbongConstants.defaultPreference)))
                    .setChecked(true);

            shippingAddress.setText(prefs.getString("shippingAddress", "")); //"" is the default value.

            //added by Mike, 20170223              
            ((RadioButton) modeOfPayment
                    .getChildAt(prefs.getInt("modeOfPayment", UsbongConstants.defaultModeOfPayment)))
                            .setChecked(true);
        }

        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);
        ll.addView(firstName);
        ll.addView(surName);
        ll.addView(contactNumber);
        ll.addView(preference);
        ll.addView(shippingAddress);
        ll.addView(modeOfPayment);

        new AlertDialog.Builder(this).setTitle("My Account").setView(ll)
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        //ACTION
                    }
                }).setPositiveButton("Save & Exit", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        //ACTION
                        //Reference: http://stackoverflow.com/questions/23024831/android-shared-preferences-example
                        //; last accessed: 20150609
                        //answer by Elenasys
                        //added by Mike, 20170207
                        SharedPreferences.Editor editor = getSharedPreferences(
                                UsbongConstants.MY_ACCOUNT_DETAILS, MODE_PRIVATE).edit();
                        editor.putString("firstName", firstName.getText().toString());
                        editor.putString("surname", surName.getText().toString());
                        editor.putString("contactNumber", contactNumber.getText().toString());

                        for (int i = 0; i < preference.getChildCount(); i++) {
                            if (((RadioButton) preference.getChildAt(i)).isChecked()) {
                                currPreference = i;
                            }
                        }
                        editor.putInt("preference", currPreference); //added by Mike, 20170223                    

                        editor.putString("shippingAddress", shippingAddress.getText().toString());

                        for (int i = 0; i < modeOfPayment.getChildCount(); i++) {
                            if (((RadioButton) modeOfPayment.getChildAt(i)).isChecked()) {
                                currModeOfPayment = i;
                            }
                        }
                        editor.putInt("modeOfPayment", currModeOfPayment); //added by Mike, 20170223
                        editor.commit();
                    }
                }).show();
        return true;
    case android.R.id.home: //added by Mike, 22 Sept. 2015
        /*//commented out by Mike, 201702014; UsbongDecisionTreeEngineActivity is already the main menu            
                    processReturnToMainMenuActivity();
        */
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}