我这样做了一段时间,这是正确的方法吗?
活动:
<legend>Combo box</legend>
Add to Combo: <input type="text" name="txtCombo" id="txtCombo"/>
<input type="button" value="Add" onclick="addCombo()">
<br/>
Combobox: <select name="combo" multiple id="combo"></select>
</fieldset>
在另一个片段的某些听众中:
public void toSettings(){
Fragment_Settings frag = new Fragment_Settings();
fm.beginTransaction()
.replace(R.id.mainContainer, frag)
.addToBackStack(null)
.commit();
}
答案 0 :(得分:0)
您不需要.addToBackStack(null)
只需删除该部分,您的片段就不会被添加到Backstack中。我还建议在替换方法中添加一个TAG,以防您以后想要检索该片段。这样的事情.replace(R.id.mainContainer, frag, TAG)
。
答案 1 :(得分:0)
这似乎是正确的,但我有一些建议。
Fragment_Settings
使用add
方法而不是replace
和addToBackStack("tag of Fragment_Settings")
而不是addToBackStack(null)
支持以前的片段。newInstance
模式比Fragment_Settings frag = new Fragment_Settings();
更受欢迎。你可以看到一些解释。
http://www.androiddesignpatterns.com/2012/05/using-newinstance-to-instantiate.html