Android在Fragment中如何安全访问父Activity中的SQLite实例

在Fragment中访问父Activity中的SQLite实例,可以通过以下步骤实现:

// 1. 在父Activity中定义一个公共方法,用于返回SQLite实例:
public class MyActivity extends AppCompatActivity {
    private SQLiteDatabase myDatabase;

    public SQLiteDatabase getMyDatabase() {
        return myDatabase;
    }
    
    // ...
}

// 2. 在Fragment中获取父Activity,并将其转换为MyActivity:
public class MyFragment extends Fragment {
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        // 获取父Activity并将其转换为MyActivity
        MyActivity myActivity = (MyActivity) getActivity();

        // 使用MyActivity中的公共方法获取SQLite实例
        SQLiteDatabase db = myActivity.getMyDatabase();

        // 根据需要使用SQLite实例
        // ...
    }
    
    // ...
}

注意:在Fragment中直接访问SQLite实例可能会导致数据库未被正确初始化和管理的问题,因此通常建议通过父Activity访问SQLite实例,以确保数据库由Activity正确初始化和管理。

猜你喜欢

转载自blog.csdn.net/wh445306/article/details/129978300