问题标签 [onconfigurationchanged]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 更换方向后丢失的片段Android
我有一个在 onCreate 中加载片段(比如 Fragment1)的活动。当用户按下 Fragment1 中的按钮时,我将 Fragment1 替换为新的 Fragment,例如 Fragment2。问题在于,在 Fragment2 中更改方向时,将重新创建活动并显示 Fragment1 而不是 Fragment2。(因为我在 onCreate 中创建了 Fragment1)我怎样才能坚持 Fragment2 并在方向改变时保持其状态?
谢谢
android - onConfigurationChanged(Configuration newConfig) 没有调用
在我的应用程序中,我只是覆盖了 onConfigurationChanged 方法,如下所示
但是在调用屏幕方向时不会调用它。
在清单中我的活动是这样的
android - onConfigurationChanged 手机重启时出现空指针异常?
那么问题是,我有一个在主类里面有onConfigurationChanged的livewallpaper,
代码是
它运行良好,当手机处于开机状态时,但如果手机重新启动,则会发生崩溃
在我的手机 Nexus 4 和三星 Galaxy S2 上运行良好,手机重启时不会崩溃,但在其他一些设备上会崩溃。
这也发生在 LG-P990 上,我认为,当手机重新启动时,它没有方向信息,但我不知道为什么调用 onConfigurationChanged?
android - GridAdapter 在屏幕方向更改时显示 view0 而不是 view4
我有一个显示 6 个按钮的 a ,如下所示GridView
:BaseAdapter
- 肖像:
B11 B12
B21 B22
B31 B32
- 景观:
B11 B12 B21
B22 B31 B32
一切都很好,直到我从横向切换回纵向。然后显示:
- 肖像:
B11 B12
B21 B22
B11 B32
所以它显示了B11两次。当我单击它时,它仍然获得正确的位置 (4) 并崩溃,因为它找不到正确的按钮 ID。
这是适配器的代码:
这里有以下痕迹:GridInit
肖像 - 好的。然后将方向更改为横向 - 仍然可以。然后回到肖像。它获得两次 View 。
android - Android横向右到横向左事件
我现在想知道在重新绘制布局时是否有任何可能的方式来触发事件,因为直接从横向右方向切换到横向左方向的事件。
我尝试了 OrientationEventListener。问题是它触发速度很快。我正在做 UI 更改,它们发生在重新绘制景观之前,看起来很糟糕。
我可以在更改上添加一些延迟,但根据手机的不同,更改可能会持续或多或少。
对于 onConfigurationChanged,时机是完美的,但当然它只适用于纵向到横向或横向到纵向。
我的应用程序不能在此更改中暂停,因此不能选择使用 onPause、onStop 等。
所以我正在寻找一个类似于 onConfigurationChanged 的事件,它也涵盖从横向到横向的更改。
android - 在屏幕旋转之前做点什么?
do_something()
每当设备从纵向旋转到横向时,我都想这样做。
我已经<activity android:configChanges="orientation" >
在我的清单中添加了。每当我onConfigurationChanged()
旋转我的设备时都会调用它。它不会重新创建活动。
在我的onConfigurationChanged()
功能中:
我的问题是,我不知道我能做什么then_fire_off_the_screen_rotation_as_normal()
。
我尝试过使用setRequestedOrientation()
,但似乎不是用于此目的的功能:
当我传入ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
, ActivityInfo.SCREEN_ORIENTATION_SENSOR
, 或ActivityInfo.SCREEN_ORIENTATION_USER
时,Activity 仍未重新启动。(就像不打电话一样。)
当我通过时ActivityInfo.SCREEN_ORIENTATION_NOSENSOR
,方向传感器关闭。(正如它所说。)
当我通过时,ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
活动被强制关闭。AndroidRuntime:NullPointerException
(具体一点:这是因为在纵向布局中以编程方式添加了片段,但在横向布局中没有。在do_something()
函数中,我将删除这些片段,因为它们在横向模式中不需要。)
android - 在 TabHost 中屏幕旋转时更改片段布局时出现异常
同事!我有一个例外,我不知道如何避免。我在 SherlockFragmentActivity 中使用 ViewPager 创建了 TabHost。TabHost 包含片段。
活动:
在 7 英寸设备上,我有 2 种布局用于 TabHost 的 FirstFragment,一种用于纵向和横向。当我旋转屏幕时,它必须更改布局。不幸的是,我无法重新创建活动,因为在这种情况下,我会丢失对话(DialogFragment)和其他长期进程的上下文,这些进程在旋转屏幕时在应用程序中可用。所以,1)我在 AndroidManifest.xml 中使用
2)覆盖Activity中的onConfigurationChanged()方法:
3) 和 FragmentPagerAdapter 中的 ovveride getItemPosition()-方法用于选项卡的重新布局。当我旋转屏幕时出现问题,它应该加载一个片段而不是两个面板布局的单面板布局:
当我将屏幕从单面板(纵向)布局旋转到两面板(横向)时,从来没有发生过这个问题,但总是相反。调用方法 mTabsAdapter.notifyDataSetChanged() 时抛出异常;在 onConfigurationChanged() 中。
谁能解释异常的原因以及将来如何避免它?也许还有另一种方式如何在旋转屏幕时提供更改选项卡的布局?
android - 屏幕方向更改后如何在 mediaPlayer 中继续广播流?
我正在使用一个简单的代码从这样的 url 流式传输广播:
但是当屏幕方向改变时,媒体播放器会停止一段时间并再次开始流式传输。我曾尝试使用 onConfigurationChanged 方法,但我很困惑如何才能在不暂停的情况下继续流式传输。
android - 使用 Fragments 更改 Android 布局
我正在开发一个有两个片段的 Android 活动。Activity 有两种可能的布局,一种在 Portait,另一种在 Landscape。
我创建的片段运行良好,但是当我更改手机/平板电脑的方向时遇到了麻烦。
其中一个 Fragment 是ListFragment,带有一个 AsyncTask 来从 Web 加载列表数据。有了这个片段,我就没有问题了,因为我可以再次创建它。(虽然加载需要一段时间)。
另一个Fragment内部有一个 Google Map V2 片段:
onCreate
我从以下方法创建片段FragmentActivity
:
在onConfigurationChanged
方法中,我有这个代码。如在 中onCreate
,我创建了片段,并更改了视图,因为现在我们处于横向/纵向:
当我在此方法中创建 ListFragment 时效果很好,但不适用于 MapFragment。带有 MaponCreateView
的 Fragment 方法中的应用程序崩溃。我想我不能再膨胀这个片段了:
04-16 18:20:32.795: E/AndroidRuntime(15543): android.view.InflateException: Binary XML file line #6: Error inflating class fragment
我的问题:
有没有办法在更改布局时避免重新创建片段?
我怎样才能做到这一点?
谢谢!
android - Android VideoView 方向,如 Youtube 应用程序
我试图在我的应用程序中复制 Youtube 应用程序在播放视频时所做的事情。
纵向模式:仅使用 40% 的屏幕显示视频,其余部分显示有关视频的信息。
横向模式:以全屏模式显示视频和窗口。
我在堆栈溢出和其他论坛中看到了很多关于这个主题的帖子,但似乎没有一个适合我。目前,我的 videoplayeractivity 使用 android:configChanges="keyboardHidden|orientation|screenSize" 并且我已经使用以下代码覆盖了 onConfigurationChanged 事件:
这不会将应用程序置于全屏状态,如果我取消注释 requestwindowfeature 它将崩溃,因为“必须在添加内容之前调用 requestFeature()”。后来我尝试删除 onConfigurationChanged 事件和我尝试过的 onCreate 事件:
但是,如果我在纵向上启动活动然后翻转到横向,则会在 com.android.internal.policy.impl.PhoneWindow$PanelFeatureState.onRestoreInstanceState(PhoneWindow.java:3527) 处出现 NullPointerException 崩溃。有什么建议么?