2014-07-05 66 views
3

我有一個應用程序,它是唯一的基於片段的,實際上(我剛創建的基本內容)我只有一個片段,宣告直接進入佈局:的Android片段:在onCreateView容器變量爲空

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <fragment 
     android:name="com.italialinux.fragments.MainFragment" 
     android:id="@+id/main_screen_fragment" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     /> 

</FrameLayout> 

而這種佈局被加載主要活動的內部,用下面的代碼:

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_screen); 
    } 
} 

而且MainFragment類如下:

public class MainFragment extends Fragment { 


    final static private long ONE_SECOND = 1000; 
    final static private long TWENTY_SECONDS = ONE_SECOND * 20; 

    private final static String TAG = "MainFragment"; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     super.onSaveInstanceState(savedInstanceState); 
     View view = inflater.inflate(R.layout.new_reminder, container, false); 
     return view;  
    } 

而new_reminder佈局只包含兩個EditText和幾個標籤。

的問題是,我不能膨脹的佈局中,由於在onCreateView傳遞的容器變量爲空。

我看到了這麼多的問題,如下所示: Android Fragment is given a null container in onCreateView()

和所有說,我需要使用一個交易,但我不明白的是: 如果我有一個片段是不變,在一個佈局中,並且不需要改變(就像在這種情況下,就像在很多例子中你有一個包含項目列表的ListFragment一樣),我怎麼能膨脹當前視圖內的佈局?

隨着ListFragment它的工作原理,但如果我不希望使用它呢?

的onCreateView方法正確調用。

+0

可能是不相關的,但爲什麼你叫''裏面onCreateView' super.onSaveInstanceState'?這個答案提到,該容器實際上可以爲空:http://stackoverflow.com/a/13586685/1561033 – Jujuba

+0

onSaveInstanceState被添加試圖解決這個問題,如果我刪除該行,我仍然有問題。問題是佈局R.layout.new_reminder沒有在片段中膨脹。 – Ivan

+0

當你說它沒有被誇大時,你會得到什麼錯誤信息? – Jujuba

回答

1

在主佈局,嘗試使用android:layout_width="match_parent"代替android:layout_width="0dp"

而且你不應該調用onCreateonSaveInstanceState(savedInstanceState);當你的片段正在關閉以允許它保存它的狀態時,它被框架調用。

相關問題