在Android中使用Fragment的SQLite数据库

时间:2014-03-25 22:42:38

标签: java android database sqlite android-fragments

我正在制作一个有多个片段的应用。其中一个片段显示数据库中的数据。该片段从MainActivity中调用,并重定向到外部类“fragment_database”。

但是,每当我尝试在此外部类“Fragment_Database.java”中添加函数时,都会生成范围错误或缺少函数错误。所有函数都要求类扩展Activity类,但我的扩展了Fragment类......

这是我的外部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 个答案:

答案 0 :(得分:1)

如果您需要添加任何需要Activity的内容,可以使用片段中的getActivity()方法获取对它的引用。

最好将其放入onActivityCreated()方法,因为它

  

在创建片段活动并且实例化此片段的视图层次结构时调用。一旦这些部分就位,它可用于进行最终初始化,例如检索视图或恢复状态。对于使用setRetainInstance(boolean)保留其实例的片段也很有用,因为此回调告诉片段何时与新活动实例完全关联。这是在onCreateView(LayoutInflater,ViewGroup,Bundle)之后和onViewStateRestored(Bundle)之前调用的。