Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can i get Edit text leave event

i want edittext "text" to be reflected on textview after Edittext leave event is it possible in android i tried with this can anybody tell me whats wrong or its not possible in android?

i tried every event that possible

objNextbet=getNextBets();
            Button btnbetNow =(Button)findViewById(R.id.btnBetNow);
            try
            {
            SimpleExpandableListAdapter expListAdapter =
                new SimpleExpandableListAdapter(
                    this,
                    createBetGroupList("next"), // groupData describes the first-level entries
                    R.layout.group_row, // Layout for the first-level entries
                    new String[] { "BetGroup" },    // Key in the groupData maps to display
                    new int[] { R.id.childname },       // Data under "colorName" key goes into this TextView
                    createBetChildList("next") ,    // childData describes second-level entries
                    R.layout.child_row, // Layout for second-level entries
                    new String[] { "betText","betRate","betID" },   // Keys in childData maps to display
                    new int[] { R.id.txtBetText, R.id.txtdecRate,R.id.txtstrBetID}  // Data under the keys above go into these TextViews

                ) {
                @Override 
                public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
                {          
                     final View childview = super.getChildView(groupPosition, childPosition,isLastChild, convertView, parent); 


                     final TextView txtBetText = (TextView)childview.findViewById(R.id.txtBetText);
                     final TextView txtstrBetID = (TextView)childview.findViewById(R.id.txtstrBetID);
                     final TextView txtdecRate = (TextView)childview.findViewById(R.id.txtdecRate);                  


                     String strBetGroup="";
                     for(int n = 0 ; n < objNextbet.size() ; n++ ) 
                        {
                         if(objNextbet.get(n).getBetText().toString().equals(txtBetText.getText().toString()))
                          {
                             strBetGroup=objNextbet.get(n).getstrBetGroupName().toString();
                          }
                        }



                     Button btnBetNow = (Button)childview.findViewById(R.id.btnBetNow);
                     btnBetNow.setTag(txtBetText.getText() + "-" +
                             txtstrBetID.getText() +"-" +txtdecRate.getText()+"-"+strBetGroup);

                     btnBetNow.setOnClickListener(new OnClickListener() 
                     {    
                        @Override             
                        public void onClick(View view) 
                        {                 
                           try
                           {
                               String TagValue=(String) view.getTag();
                               final String bet[] = TagValue.split("-");

                               final Dialog dialogbetNow = new Dialog(myucontext);
                               /** Disabling The PopUp Title Bar */
                               dialogbetNow.requestWindowFeature(Window.FEATURE_NO_TITLE); 

                               /** Set The Content For The PopUp */
                               dialogbetNow.setContentView(R.layout.popupbet);

                                /** Set The PopUp Deposit Balance */ 
                                  TextView txtCashcredit =(TextView)dialogbetNow.findViewById(R.id.txtCashcredit); 
                                  txtCashcredit.setText(Double.toString(objCGUserProfile.getUsedCredit()).toString());

                                  final TextView txtbetBetText = (TextView)dialogbetNow.findViewById(R.id.txtbetBetText);
                                  txtbetBetText.setText(bet[0]);

                                  TextView txtbetRate = (TextView)dialogbetNow.findViewById(R.id.txtbetRate);
                                  txtbetRate.setText(bet[2]);

                                  Button btnpopupBetNow = (Button)dialogbetNow.findViewById(R.id.btnpopupBetNow);
                                  btnpopupBetNow.setOnClickListener(new OnClickListener()
                              {

                                @Override
                                public void onClick(View v)
                                {

                                    final EditText ETStake = (EditText)dialogbetNow.findViewById(R.id.ETStake);

                                    if(ETStake.getText().toString().equals(""))
                                    {
                                        TextView txtError =(TextView)dialogbetNow.findViewById(R.id.txtError);
                                        txtError.setTextColor(Color.RED);
                                        txtError.setText("Please Enter cash.");
                                    }
                                    else
                                    {
                                        final double cash = Double.valueOf((String)ETStake.getText().toString()).doubleValue();

                                        ETStake.setOnFocusChangeListener(new EditText.OnFocusChangeListener()
                                        {    
                                            @Override
                                            public void onFocusChange(View v,boolean hasFocus) 
                                            {
                                                if (!hasFocus)
                                                {
                                                    // TODO: the editText has just been left 
                                                    TextView txtRisk = (TextView)dialogbetNow.findViewById(R.id.txtRisk);
                                                    TextView txtReturn = (TextView)dialogbetNow.findViewById(R.id.txtReturn);
                                                    txtRisk.setText(Double.toString(cash).toString());
                                                    double stake = Double.parseDouble(ETStake.getText().toString());
                                                    double rate = Double.parseDouble(bet[2]);
                                                    double betReturn = stake * rate;
                                                    txtReturn.setText(Double.toString(betReturn));
                                                }

                                            }
                                        });

                                    }
                                }
                            });

                                  ImageView imgCancel = (ImageView)dialogbetNow.findViewById(R.id.imgCancel);
                                  imgCancel.setOnClickListener(new OnClickListener() {

                                    @Override
                                    public void onClick(View v) 
                                    {
                                         try 
                                         {
                                           dialogbetNow.cancel();   
                                         }
                                         catch (Exception e)
                                         {
                                         }  
                                    }
                                });

                              dialogbetNow.show();

                           }

                           catch(Exception ex)
                           {
                               ex.toString();
                           }
                        } 
                        });                  

                     return childview;     
                } 
like image 735
user728702 Avatar asked Apr 29 '11 10:04

user728702


People also ask

How do you use text change?

Example 1 – Listener for EditText on Text ChangeRun this Android Application in your Android phone or Emulator. You would get an EditText on the screen. Try entering some text into EditText. When text changes in EditText, onTextChanged() method is called, and we are updating the text of TextView.

Which action listener could be used with EditText?

TextWatcher. When TextWatcher object is attached to an Editable, its methods will be called when the text is changed. So, TextWatcher object can be used as a listener for text changes in the EditText.

How can I tell if EditText is focusable Android?

You can use View. OnFocusChangeListener to detect if any view (edittext) gained or lost focus. This goes in your activity or fragment or wherever you have the EditTexts. The .... is just saying that you can put it anywhere else in the class.


1 Answers

You can register an OnFocusChangeListener on your EditText inside your activity's onCreate method:

final EditText et = (EditText)findViewById(R.id.my_edit_text);
et.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean hasFocus)
    {
        if (!hasFocus)
            // TODO: the editText has just been left
    }
});

Here the v parameter of the onFocusChange is your EditText control.

Also, if you want to update your TextView on every change in the EditText's content, you should put your update code inside the public void afterTextChanged(Editable s) method of the registered TextWatcher.

//Make sure, that the txtRisk TextView is part of the dialogbetNow view.

like image 106
rekaszeru Avatar answered Oct 23 '22 12:10

rekaszeru