I have a put together a very simple program which exhibits this behavior. Run the following program and then do the following
1) Click in the edit control of the first page which should bring up the soft keyboard 2) Using the soft keyboard type 'aaa' 3) Click the 'Press This' button 4) The view switches to the next page 5) Click in the edit control of this new page and using the soft keyboard type 'bbb' 6) Click the 'Press This' button 7) You should now see the first page with the edit control which still has the 'aaa' text in it. 8) Click in that edit control and enter 'ccc' via the soft keyboard. 9) Note that nothing appears to happen (except you get some MediaPlayer errors in LogCat???) 10) Click the "Press This' button which switches back to the second page. 11) Note that the 'ccc' you typed is in this edit control Clearly, even though the second page is no longer visible, it somehow still has the focus. I have tried using the 'requestFocus' function to set the focus into both the EditText control and the LinearLayout view of the currently visible view, but this does not seem to have any effect. Can someone please tell me how to make this work? Thanks package com.gabysoft.testandroid; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; public class TestAndroid extends Activity implements OnClickListener { /** Called when the activity is first created. */ LinearLayout ll1; LinearLayout ll2; boolean one = true; LinearLayout CreatePage() { LinearLayout ll; EditText et; ll = new LinearLayout(this); et = new EditText(this); LayoutParams lp = new LinearLayout.LayoutParams(100, 50); et.setLayoutParams(lp); Button btn = new Button(this); btn.setText("Press This"); btn.setOnClickListener(this); ll.addView(et); ll.addView(btn); return(ll); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ll1 = CreatePage(); ll2 = CreatePage(); setContentView(ll1); } @Override public void onClick(View arg0) { if (one) { setContentView(ll2); } else { setContentView(ll1); } one = !one; } } On Oct 9, 10:35 am, John Gaby <jg...@gabysoft.com> wrote: > I have an app where the user is entering some data via an EditText > control. This is done by alternating between 2 pages each of which > obtains one piece of data. When I start, I create the first page and > make it active by calling the setContentView for the activity. I also > set the focus into the EditText control on this page. When I do that, > I am able to bring up the soft keyboard and type text into the > control. > > I then press a 'Next' button, which brings up the second page. I > create this page which has another EditText control, and make it > active by calling the setContentView. Once again, this works > correctly, and I am able to enter text into the control. > > When I press the 'Next' button again, the first page is then make > active again (I am reusing the origonal page, and do not recreate > it). However, when I do this, I can no longer type text with the soft > keyboard and have it go into the EditText control. The control shows > a blinking cursor as if it has focus, but if I type on the soft > keyboard, nothing happens, except I get the following errors in > LogCat: > > 10-09 17:28:52.722: ERROR/MediaPlayerService(30): error: -2 > 10-09 17:28:52.722: ERROR/MediaPlayer(52): Unable to to create media > player > 10-09 17:28:52.722: WARN/AudioService(52): MediaPlayer IOException: > java.io.IOException: setDataSource failed.: status=0x80000000 > > Note that if I don't bring up the soft keyboard and use the hardware > keyboard instead, everything seems to work correctly. > > Obviously, I am doing something wrong here, but I cannot figure out > what. Can anyone give me a clue as what is happening here? > > Thanks. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en