2012-02-21 128 views
2

之間有什麼區別:Android和捆綁

private void compareThem(Bundle myBundle, Bundle arguments) { 
    Log.d("---myBundle==null: ", " " + (myBundle==null)); 
    Log.d("---arguments==null: ", " " + (arguments==null)); 

    if(myBundle!=null && arguments!=null) { 
    Log.d("---myBundle==arguments: ", " " + (myBundle==arguments)); 
    Log.d("---myBundle.equals(arguments): ", " " + (myBundle.equals(arguments))); 
    } 
} 

:myBundle &()由getArguments返回一個

@Override 
public void onCreate(Bundle myBundle) { //on create() belonging to a Fragment 
    super.onCreate(myBundle); 
    // So myBundle vs getArguments() 
} 

從我簡單的測試,他們是不一樣的物體,經測試此有時我收到:false,true,false,false有時候:false,false,false,false 反正..?

回答

1

捆綁傳入onCreate()(myBundle在您的代碼中)是所謂的savedInstanceState。您可以在方法onSaveInstanceState()的方法中保存捆綁中的片段的一些數據(「狀態」),隨後此捆綁將在onCreate()和其他一些方法中可用。

getArguments()返回的包是從片段的調用者傳遞的包。該軟件包通過setArguments()方法提供。