作者purin88 (原来我是愤怒的乡民)
看板AndroidDev
标题[问题] Fragment 画面重叠
时间Tue Apr 14 00:37:43 2015
图片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....注解起来
但显然仍是没用
请教高手,这该如此解决呢。
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.74.226
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1428943072.A.20E.html
1F:推 fake01: 从a到b页,把a页面a.finish掉。 04/14 07:09
2F:→ fake01: back的话,有事件可以控制。按下back指定startacitivy就可 04/14 07:10
3F:→ fake01: 以 04/14 07:10
4F:→ purin88: 楼上,不好意思,fragment没finish 04/14 08:49
5F:→ purin88: 请问在onBackPressed()下如何startActivity,另外我这 04/14 08:54
6F:→ purin88: 个是Fragment,不是Activity 04/14 08:55
7F:→ ssccg: 单纯只是不要看起来重叠的话,把fragment的layout加上背景 04/14 09:20
8F:→ ssccg: 但是根本的原因在於你transaction的内容 04/14 09:56
9F:→ ssccg: 依你的程式码,到Web那步的时候backstack上是 04/14 09:58
10F:→ ssccg: [remove 无、add 1] [remove 1、add 2] 04/14 09:59
11F:→ ssccg: [remove 2、add web]这步没有加到backstack 04/14 10:04
12F:→ ssccg: 所以第一次back的时候是pop [remove 1、add 2]这步,也就是 04/14 10:04
13F:→ ssccg: 执行remove 2、add 1,而web还留着,所以变成同时有1和web 04/14 10:05
14F:→ blackZ2: 只是要看起来不是重叠=>把fragment设成gone XDD 04/14 10:06
15F:→ ssccg: 要达成跟activity按back一样的效果,你要在backstack上加上 04/14 10:15
16F:→ ssccg: [remove 1、add web],而fragment 2要手动在离开时做remove 04/14 10:16
17F:→ ssccg: 我是觉得比起backstack,自己用show、hide来控制比较快啦 04/14 10:17