![](/img/trans.png)
[英]How to Get a Framelayout wrap_content till the horizontalScrollview
[英]framelayout how to get content?
由於必須為應用程序做一個自定義菜單,因此我做了一個片段,它的作用就像是應用程序底部的操作欄!
但是我與堆棧有一些沖突(按返回按鈕時)。
我應該如何編程以下方法?
public void changerContenu(int frameLayout, Fragment frag, boolean ajouterAuStack)
{
if(R.id.frameContent != frag.getId())
// * if the current displaying
// fragment in the layout is the same as the one that I received in param#2 (frag),
// then don't do anything.
{
ft = fragmentManager.beginTransaction();
ft.replace(frameLayout, frag);
if(ajouterAuStack)
ft.addToBackStack(null);
ft.commit();
}
}
我知道我的“如果”現在沒有任何意義,試圖弄清楚如何達到期望的結果:(現在,當我訪問該片段一次(並將其推入堆棧)時,我無法使用我的按鈕在“自制操作欄”中,直到我多次單擊“后退”按鈕來清潔堆棧。
如果我幾次單擊菜單上的同一按鈕,我只想不復制堆棧中的項目...
多謝你們!
我想更好地理解這個問題。
您有一個類似於動作欄的片段。 如果片段已在顯示,則您無需執行任何操作。 否則,您要顯示它。 您想在什么情況下返回,應該怎么辦?
請注意,底部的單個操作欄與典型的Android設計不符。 用戶可能不了解如何使用您的應用。 我有興趣知道為什么常規的ActionBar對您不起作用。
供以后參考,我以這種方式工作:
public void changerContenu(int frameLayout, Fragment frag, boolean ajouterAuStack, String tag)
{
ft = fragmentManager.beginTransaction();
ft.replace(frameLayout, frag);
if(ajouterAuStack && (fragmentManager.getBackStackEntryCount() == 0
|| fragmentManager.getBackStackEntryAt(fragmentManager.getBackStackEntryCount()-1).getName() != tag))
ft.addToBackStack(tag);
ft.commit();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.