[问题] Fragment 画面重叠

楼主: purin88 (原来我是愤怒的乡民)   2015-04-14 00:37:43
图片1
http://ppt.cc/lJV2
图片2
http://ppt.cc/WAxG
图片3
http://ppt.cc/r6G7
程式码下载位置
https://www.dropbox.com/s/xjjnrtqu6m6qbcj/iParking3.zip?dl=0
程式码网站上的位置
http://codepad.org/e3nOwob0
Layout的网址
http://pastebin.com/JHW9uLjF
1、MainActivity FramLayout
2、webView Layout
3、Test1 Layout
4、Test2 Layout
原本我是想MainActivity连Test1 Layout,再连Test2 Layout,再连WebView Layout
然后按返回键是希望,WebView Layout 返回的是Test1 Layout,中间不连Test2 Layout
因此,在Test2 Layout的程式没加上addToBackStack(null)
但不管如何,返回键都会有画面重叠,有查到网络上有人说,覆写
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
//super.onSaveInstanceState(outState);
}
把super.onSave....注解起来
但显然仍是没用
请教高手,这该如此解决呢。
谢谢
作者: fake01 (假面超人)   2015-04-14 07:09:00
从a到b页,把a页面a.finish掉。back的话,有事件可以控制。按下back指定startacitivy就可以
楼主: purin88 (原来我是愤怒的乡民)   2015-04-14 08:49:00
楼上,不好意思,fragment没finish请问在onBackPressed()下如何startActivity,另外我这个是Fragment,不是Activity
作者: ssccg (23)   2015-04-14 09:20:00
单纯只是不要看起来重叠的话,把fragment的layout加上背景但是根本的原因在于你transaction的内容依你的程式码,到Web那步的时候backstack上是[remove 无、add 1] [remove 1、add 2][remove 2、add web]这步没有加到backstack所以第一次back的时候是pop [remove 1、add 2]这步,也就是执行remove 2、add 1,而web还留着,所以变成同时有1和web
作者: blackZ2   2015-04-14 10:06:00
只是要看起来不是重叠=>把fragment设成gone XDD
作者: ssccg (23)   2015-04-14 10:15:00
要达成跟activity按back一样的效果,你要在backstack上加上[remove 1、add web],而fragment 2要手动在离开时做remove我是觉得比起backstack,自己用show、hide来控制比较快啦

Links booklink

Contact Us: admin [ a t ] ucptt.com