Android :: Why Are OnCreate() OnStart() Etc Called When Handset Orientation Is Changed
Dec 14, 2009
I got my hands on Android which is really fun. But at some point I don't seem to understand the concept. I've got a Main class which reads like this:
CODE:....
In the onCreate(...) I set the layout to setContentView(R.layout.main); and add an OnTouchEvent Listener to the sole View in main.xml: myView.setOnTouchListener(new OnTouchListener() {@Override public boolean onTouch(View v, MotionEvent event){...
As you can see I also implemented a SensorEventListener which is used if required. All works fine so far.
But my problem is this (at this point my misunderstanding kicks in): whenever I rotate the device the onCreate(), onStart() etc. methods are called, causing my app to act as if it just started. Furthermore, I feel unable to implement an onSizeChanged(int w, int h, int oldw, int oldh) { ... } Listener.
Can anyone please explain where my error in reasoning is? I am working on a tiny app which is more or less done, except for the just mentioned bug(s). Maybe I got it all wrong but it does what it is supposed to do (i.e. sending touch positions and accelerometer data over the network via UDP).
View 14 Replies
Oct 7, 2009
I want to display a ListView with checkboxes, and I want some of the checkboxes pre-selected. The ListView has setAdapter called during onCreate, and the list information appears when the screen is drawn. However, when I attempt to set certain list items as checked, my ListView reports getChildCount() = 0.
My SharedPreferences contains a list of sounds that have been previously selected, as a comma delimited string of list indices. Because the list appears to have no children in onStart, my attempts to set items as checked fails.
On the good side, once the list is rendered, I can select entries and hit Back, and my selection is stored to SharedPreferences correctly.
How can I load my previous selection into the list? Should I be using something else here?
In the spirit of open source. here's my code:
CODE:.................................
View 12 Replies
View Related
Sep 28, 2009
My activity bind a service. I want to call the service's function in activity's onStart/onCreate function, but it doesn't work. The service started sunless but the connection is null. When I just call the service's function in other function (onClick for example),
View 4 Replies
View Related
Jul 25, 2009
I have a service that needs to hold a persistent TCP connection, think IM. I'm reluctant to use setForeground() - the service being down temporarily isn't that big a deal, and I am assume I can trust that I'll be run again once memory is available, correct? The problem here is this. The service was started via startService() before being killed. However, when it is restarted, only onCreate() is executed. This makes it hard to continue, because starting work onCreate() means I can't even bind to the service (to say query it's status) without it doing so. Is this a bug or per design? What is the status of the service after it is being restarted? Is it consider "started" by the system, i.e. waiting for a call to stopService()?
View 2 Replies
View Related
Sep 15, 2010
I have a TabActivity with 3 tabs, each tab started an activity and I realise when a tab is clicked onResume is call. If I have onCreate, when app start it will launch onCreate and then onResume immediately.So, I can just get ride of onCreate in this case?
View 2 Replies
View Related
Jan 18, 2010
I make 'hello world' app :-) and wrote a Log code in onCreate. and then give "android.intent.category.DEFAULT" and "android.intent.category.HOME"
This situation appears emulator(1.5, 2.0, 2.1). but HTC hero(1.5, original htc rom) didn't! it just call one time! Which is normal? and If calling twice is normal, why are they call twice?
View 2 Replies
View Related
Mar 3, 2010
Following is the example of tabs with intent data.
While debugging i found that always when first tab we add in tab host in our case following tab
CODE:................
oncreate method of "List1" intent get called regardless it is our current tab or not even if if i define tab2 as a current tab how to fix this ?
CODE:..........................
View 1 Replies
View Related
Mar 29, 2009
I launch my TestWebView activity. After my web page is loaded, I put the app in the background by pressing the Home key. Then I bring the TestWebActivity back to the foreground. Unexpectedly, TestWebView's onCreate() is called when I bring the activity to the foreground. But onDestroy is never called. This same thing happens every time I tested. It appears the old TestWebView was not completely killed so there are possibly duplicate web clients running.
My code: .....
View 7 Replies
View Related
Aug 27, 2010
I have some code in the onCreate method an Activity and noticed that it is being called three times. Is it normal behaviour?
View 1 Replies
View Related
Aug 5, 2010
The order is:
A: startActivityForResult( B ) B: <dostuff>, call finish() A: onCreate <---- what's this all about A: onActivityResult
This happens for a tiny minority of users. I havn't been able to reproduce or find any common elements. A is the launch activity.
CODE:..............
View 7 Replies
View Related
Apr 28, 2010
I have an activity that checks stuffs online when it's created (is the GPS on and if not it asks if the user wants to turn it on).
The problem I'm having is that it is also doing it everytime I change the orientation of the screen.
I've read some comments on onConfigurationChanged() but is there a better way to be sure I'm checking the GPS only when the activity is first created?
View 4 Replies
View Related
Oct 1, 2010
In my android app I call the voice recognition in my onCreate method of my startup activity. I have made it a preference to start up with the voice control or not. However, the app takes about 5-7 seconds to load when voice recognition is on. When it is off, the app starts almost instantly. Below is sample code, I have added Free_Form, max_results 1, and a custom prompt to mine.Why would calling the normal android speech recognition take sooo long to load in my OnCreate method?
View 1 Replies
View Related
Jun 20, 2010
I've been experimenting with orientation change and have seen a strange behavior (at least to my opinion) when I change the orientation from landscape to portrait. To make the explanation more concrete let's consider the following super-simple code:
CODE:...................
I put breakpoints at lines 9 and 15 and start the emulator in debug mode. The application starts and hits the breakpoint at line 9; so far so good. Then I press Ctrl+F11 to change the orientation from portrait to landscape. The debugger stops first at line 15 and then line 9. Everyhting normal so far. I hit once again Ctrl+F11 to change the orientation from landscape to portrait and some mumbo-jumbo starts happening. Here is the sequence of function calls I observe: 1.onDestroy() 2.onCreate() 3.onDestroy() 4.onCreate()
I really fail to understand why the platform needs to make the calls "2.onCreate()" and "3.onDestroy()". Can anyone explain why this is happening? At least I don't find it convenient because I need to implement more logic, because the extra calls "2.onCreate()" and "3.onDestroy()" cause side effects in my case. However, it would be interesting to know why these extra calls are taking place.
View 5 Replies
View Related
Jan 4, 2010
With following simple code (on clean, new android project):
CODE:..............................
View 5 Replies
View Related
Oct 29, 2010
I want to change layout without calling the onCreate method. i also define android:configChanges="orientation|keyboardHidden" in my activity and it is not calling the onCreate method but the layout not adjust appropriately on landscape mode.
my current layout look like as follows.
after change orientation as landscape it look like as follows:
but on landscape i want the following result.
is there any auto adjacent property?
how can i do it?
View 2 Replies
View Related
Jul 28, 2010
I'm facing some problems with the progress dialogs. I use a managed progress dialog to show the user that an operation is being carried out with the following code written in the onCreateDialog(int id) function.When the operation completes I call dismissDialog(PROGRESS_DIALOG). The problem is that if I rotate the phone while the progress dialog is displayed then when the operation completes the dismiss call has no effect and the progress remains showing. And this I cannot understand why.
View 1 Replies
View Related
Feb 27, 2009
I have a program with two layouts: - layout/main.xml - layout-land/main.xml
Also, i have some images en drawable and drawable-land...
My problem is: When i change the orientation of the emulator (for examplo: portrait to landscape) i don't know how reload the main.xml layout to update the screen with the new positions....
If I launch the emulator in portrait the application load the portrait layout, and if I launch the emulator in landscape mode the application load the landscape layout, but if I change the orientation in execution mode the application don't load the new layout...
How can I reload the layout?
View 3 Replies
View Related
Jun 23, 2010
My activity use the same RelativeLayout as it's content view whatever the orientation is. In this RelativeLayout, there is a FrameLayout align to it's bottom, and a TextView above this FrameLayout, just like :
CODE:...........
on android 1.5 device when orientation changed, the TextView lies in the wrong place, middle when portrait, bottom when landscape. on android 1.6 device It is ok.
How could I make it lies in the place where it should be on 1.5 device?
View 2 Replies
View Related
Nov 18, 2010
I snap a photo, and it gets placed onto an ImageView. When the user sees the page where the Image View is, and I turn the phone sideways where the orientation is horizontal, the app immediately returns to the app's main screen.
View 1 Replies
View Related
Nov 10, 2010
While working on orientation change I have found that the onConfigurationChanged is not getting called when changing the orientation from portrait to landscape.But when I am changing from landscape to portrait the method is getting called. Is it the correct behavior because the onConfigurationChanged should by called whenever we are changing the orientation. (android:configChanges="orientation")? I have also found one strange behavior or error, When we are changing from portrait to landscape orientation the string value is displayed correctly(automatically by android system) but when in am changing the orientation from landscape to portrait the same string is displayed(i.e the string in landscape mode).The expected behavior is the string id specified in the portrait mode should be displayed.Is it an platform bug or something wrong in my code/programming.
View 2 Replies
View Related
Apr 9, 2010
I want my widget to update when the phones orientation has changed. Before android 2.0 you could register your widget to get the intent on orientation change. Code...
View 1 Replies
View Related
Jun 21, 2010
In my application result displayed in Text view is disappeared when mobile orientation is changed,for this what can i do.i want my application in both modes means portrait and landscape.for this what can i do.
View 2 Replies
View Related
Oct 1, 2009
I get an OutOfMemoryError in my app after changing the orientation. I have read, that if have to use Context.getApplicationContext() instead of a normal activity context??
My java file looks like:
CODE:.....................
View 11 Replies
View Related
Aug 16, 2010
I am having a listview in my App which shows perfectly in Portrait mode. But when I change orientation to landscape, sometimes the width remains as that of Portrait mode. Even the scrollbar for the list comes at the center and remaining part of the screen remains blacked out. This happens only with the list view. Other views show perfectly. I have designed the layouts such that the Portrait layouts look feel proportionate in landscape mode. I want to avoid restarting the activity so I have not put the layouts in the landscape folder. I tried invalidating the listview in onConfigurationChanged() but of no use. When I navigate in the list in landscape mode, the width automatically gets adjusted.
View 2 Replies
View Related
Jan 19, 2014
why onDestroy is being logged twice for the fragment class in the the following code when the orientation of the device changes. Its logged once for the activity class, but twice for the fragment.
Code:
public class ExampleActivity extends Activity {
protected String LOG_TAG = ExampleActivity.class.getSimpleName();
private FrameLayout mFragmentHolder;[code].....
View 1 Replies
View Related
Jun 22, 2010
I've made a search screen that has one tab for keywords, filters, and a search button, and three optional tabs for the different types of results (each containing a ListView with an ArrayAdapter). When starting the activity, the developer can optionally pass in the results as an extra Parcelable[] if the search has already been performed. In the onCreate() method I'm creating each of the three tabs for the Parcelable[] passed through.
When I call a search from the button on the filter tab, I clear the tabs and recreate them with the new results, which works perfectly. The problem is that when you rotate the device, it appears that Android's automatic orientation switching support recreates the entire activity, calling onCreate(). This means that my search results are reset to the Parcelable[] passed through when starting the activity. The only solution I've had so far is to call finish() then startActivity() to essentially restart the activity with the new results. I'm sure there must be a much simpler solution and that I've done something extremely noobish.
View 1 Replies
View Related
Aug 14, 2010
I am generating the random numbers and do some functionality with that .but when i change the orientation new random numbers are coming.But I want portrait random numbers.For this give me some suggestions.
View 1 Replies
View Related
Apr 14, 2010
I'm trying to start a floating activity from onStart to retrieve some info from the user right when the initial activity begins.
I have the following:
CODE:............
And callProfileDialog() is just:
CODE:..........
ProfileDialog.class returns a String from an input box. If the result returned is RESULT_CANCELED then I restart the activity.
The problem I'm having is that when the program starts, the screen is just black. If I hit the Back button a RESULT_CANCELED is returned then the initial activity shows as well as the floating activity (since it recalled itself when it got a RESULT_CANCELED). Why can't I get the activities show by calling ProfileDialog.class from onStart()? I got the same result when I called it at the end of onCreate() which is way I switch over to use onStart().
I have also tried the following:
CODE:.........
But this doesn't work either. It all works fine once I hit the back button but without doing that, it's all black.
View 3 Replies
View Related
Oct 5, 2010
In the Android Application Fundamentals it says that after the call to the onStart()-method of the activity lifecycle either the callback method Resume() or onStop() is called. In case of an "normal" Start of an activity the system calls onCreate(), onStart(), onResume().But does somebody know an example where onStart() - onStop() are executed one after another?
View 2 Replies
View Related
Mar 7, 2010
In the 1.6 API, is there a way to ensure that the onStart() method of a Service is called after the service is killed due to memory pressure?
View 4 Replies
View Related