comment faire pour forcer le focus à modifier le texte

J'ai lu autour de la question sur la façon de définir un objet d'être concentré cependant, je n'arrive pas à trouver une réponse à ce que je suis en train de faire.

À l'aide de l'Accent Auditeur, j'ai effectué les opérations suivantes:

  Ehour.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            //TODO Auto-generated method stub
            if (!arg1) {
                if (Ehour.getText().length()<=0) {
                    Toast.makeText(getApplicationContext(), "No Hour Entered", Toast.LENGTH_LONG).show();
                    Calendar nohour = Calendar.getInstance();
                    Ehour.setText(numberformatter(nohour.get(Calendar.HOUR_OF_DAY)));
Ehour.setFocusable(true);
Ehour.requestFocus();


                }
            }
        }});

J'ai essayé les suggestions de l'follow posts:

J'ai lu ce post, mais l'utilisation de ces suggestions ne semblent pas fonctionner:
Comment définir le focus sur une de vue lors de la mise en page est créé et affiché?

Mon but est que lorsque la modification du texte le focus est perdu, j'ai besoin de revenir à lui, si l'entrée de donnée n'est pas valide.

En outre, conformément à la suggestion donnée par le projet de Loi Mote j'ai aussi essayé:

 Ehour.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            //TODO Auto-generated method stub
            if (!arg1) {
                if (Ehour.getText().length()<=0) {
                    Toast.makeText(getApplicationContext(), "No Hour Entered", Toast.LENGTH_LONG).show();
                    Calendar nohour = Calendar.getInstance();
                    Ehour.setText(numberformatter(nohour.get(Calendar.HOUR_OF_DAY)));

                    ((EditText)arg0).requestFocus();

                }
            }
        }});

** EDIT **
J'ai même ajouté la ligne ci-dessous avant le requestFocus() :

((EditText)arg0).setFocusable(true);

*** EDIT ****

Jugé à partir de ce post : Arrêter EditText de gagner de l'accent à l'Activité de démarrage

Les modifications suivantes :
Dans la mise en page lors de la première mise en page d'en-tête, j'ai ajouté :

android:id="@+id/enterdata"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"

Puis dans le OnChangeFocusListener je l'ai fait:

Ehour.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            //TODO Auto-generated method stub
            if (!arg1) {
                if (((EditText)arg0).getText().length()<=0) {
                    Toast.makeText(getApplicationContext(), "No Hour Entered", Toast.LENGTH_LONG).show();
                    Calendar nohour = Calendar.getInstance();
                    ((EditText)arg0).setText(numberformatter(nohour.get(Calendar.HOUR_OF_DAY)));
                    findViewById(R.id.enterdata).requestFocus();
                    ((EditText)arg0).setFocusable(true);
                    ((EditText)arg0).setFocusableInTouchMode(true);
                    ((EditText)arg0).requestFocus();

                }
            }
        }});

Cependant, je reçois toujours le même comportement qu'avant, le modifier le texte qui donne le focus pour le reste de cette façon, mais l'édition de texte que je veux le focus à aller à des regards concentrés, mais il ne semble être utilisé que s'il est toujours en attente d'être concentré.

*** EDIT ****

Code ci-dessous comme par post récent trouvé sur stackoverflow où l'utilisateur qui a posé la question rencontre le même problème que moi:

 Ehour.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            //TODO Auto-generated method stub
            if (!arg1) {
                if (((EditText)arg0).getText().length()<=0) {

                    Calendar nohour = Calendar.getInstance();
                    ((EditText)arg0).setText(numberformatter(nohour.get(Calendar.HOUR_OF_DAY)));
                    if (((EditText)arg0).requestFocus()) {
                         getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
                         Emin.clearFocus();   
                         Toast.makeText(getApplicationContext(), "No Hour Entered", Toast.LENGTH_LONG).show();  
                    }


                }
            }
        }});
Regarde ce post : stackoverflow.com/questions/1555109/... j'ai essayé sur des réponses que je vais l'ajouter à ma question
J'ai même essayé de coder en dur l'ensemble de la modifier des zones de texte pour objectif clair et défini les setFocusable et setFocusableInTouchMode pour de faux, mais le comportement est toujours le même, il ressemble à la modification de texte, je veux le focus est concentré mais tout de frappe termine dans les éditer le texte que l'utilisateur puisse se déplacer !!!!! À l'AIDE!!!!
Il apparaît dans ce post :stackoverflow.com/questions/14327412/set-focus-on-edittext?rq=1 l'utilisateur a eu le même problème et il n'a pas l'air comme il a été résolu , mais je vais essayer les suggestions ici pour voir si elles fonctionnent pour moi
J'ai essayé la suggestion donnée dans le post ci-dessus, ce qui a fait aucune différence de la situation, le code sera ajouté à la question, pour montrer ce que j'ai essayé

OriginalL'auteur TimCS | 2013-02-09