2014-03-25 37 views
1

我正在製作一個具有多個片段的應用程序。其中一個片段顯示數據庫中的數據。片段從MainActivity調用並重定向到外部類「fragment_database」。在Android中使用片段的SQLite數據庫

但是,每當我嘗試在此外部類「Fragment_Database.java」中添加函數時,它會生成範圍錯誤或缺少函數錯誤。所有的功能要求,該類擴展Activity類,但我的擴展片段類,而不是...

這裏是我的外部fragment_database類:

public class Fragment_Database extends Fragment{ 
public Fragment_Database() { 

    // HERE?? 

} 

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
    View v = inflater.inflate(R.layout.fragment_database, container, false); 

    // HERE?? 

    return v; 
} 

是我該把數據庫函數在這個類或在MainActivity?我失去了我的項目結構方面有點......

感謝

回答

1

如果您需要使用getActivity()方法從一個片段添加任何需要的Activity,您可以獲取對它的引用。

最好是把它變成onActivityCreated()方法,因爲它是

片段的活動已創建時調用這個片段的視圖層次實例化。一旦這些部分到位,它就可以用來進行最終的初始化,例如檢索視圖或恢復狀態。對於使用setRetainInstance(boolean)來保留實例的片段也很有用,因爲此回調告訴片段何時與新活動實例完全關聯。這是在onCreateView(LayoutInflater,ViewGroup,Bundle)之後和onViewStateRestored(Bundle)之前調用的。