2014-02-24 29 views
0

我有一個活動,其他是片段。當我點擊btnMain時,我想清除後臺並顯示MainActivity。我可以清除後臺並且可以去MainActivity班,但是我的問題是在去MainActivity之前有1秒(1秒)顯示黑色背景。我怎麼修復它?以下是我的代碼onClick我的btnMain不需要的1秒黑色背景顯示

public class MainActivity extends FragmentActivity implements OnClickListener{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); 
    btnMain = (Button)findViewById(R.id.btnMain); 
    btnMain.setOnClickListener(this); 

    @Override 
    public void onClick(View v) { 
    switch (v.getId()) { 

    case R.id.btnMain: 

    Intent i = new Intent(this,MainActivity.class); 
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//for clearing backstack 
    overridePendingTransition(0,0); 

    default: 
     break; 
    } 
    } 
} 
+0

你可以把你的代碼'MainActivity'? – OAEI

回答

0

什麼工作對我來說是隱藏和顯示views.they都在相同的佈局與不同ID和單擊主頁按鈕時,我只隱藏另一個,反之亦然。

0

似乎活動將從空白背景播放活動創建動畫。推薦的解決方法是添加intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

代碼如下。

case R.id.btnUnreadNotif: 

Intent i = new Intent(this,MainActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//for clearing backstack 
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); // newly added. 
overridePendingTransition(0,0); 
break; // Do NOT miss this code :) 

default: 
    break; 

如果代碼工作和以前一樣,請將行overridePendingTransition(0,0);以上的setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);

+0

仍然是相同的輸出。 – kads