java - 使用另一个类的私有(private)类构造函数访问内部子类

标签 java android class private

我正在创建 SQL 数据库,并且基于 this site. 问题是,我不知道如何访问内部类的方法,而外部类有私有(private)构造函数。

public class MyDBHandler {

    private MyDBHandler() {
    }

    public static class FeedEntry implements BaseColumns {
        public static final String TABLE_NAME = "Tasks";
        public static final String COLUMN_NAME_TITLE = "TASK_LABEL";
    }

    public class FeedReaderDbHelper extends SQLiteOpenHelper {
        public static final int DATABASE_VERSION = 1;
        public static final String DATABASE_NAME = "myDatabase.db";

        public FeedReaderDbHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        public long saveTasks(String title) {
            SQLiteDatabase db = this.getWritableDatabase();

            ContentValues contentValues = new ContentValues();
            contentValues.put(FeedEntry.COLUMN_NAME_TITLE, title);

            long newRowId = db.insert(FeedEntry.TABLE_NAME, null, contentValues);
            return newRowId;

        }
    }
} 

我正在尝试从另一个 java 文件的 onClick(View v) 方法访问 saveTasks(String title) 方法。

我尝试过这样的事情:

MyDBHandler.FeedReaderDbHelper dbHelper = new MyDBHandler.FeedReaderDbHelper(v.getContext());

但是我当然收到“MyDBHandler 不是封闭类”错误。

或者

MyDBHandler.FeedReaderDbHelper dbHelper= new MyDBHandler().new FeedReaderDbHelper(v.getContext());

但是,Android studio 不断告诉我:“MyDbHandler 具有私有(private)访问权限”

是否可以这样做?

最佳答案

如果您确实想保留内部类,则将其设为静态并按如下方式使用它:

new MyDBHandler.FeedReaderDbHelper(getContext())

关于java - 使用另一个类的私有(private)类构造函数访问内部子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46154462/

相关文章:

java - 用于 Eclipse 插件开发的自动化单元测试 (junit)

java - 在 Windows 上验证文件名

OOP:应该将多少程序逻辑作为方法封装在相关对象/类中?

typescript 错误 : An outer value of 'this' is shadowed by this container

java - 计时器未在预定时间被调用

java - 从 Java 调用 MySQL 查询 - 配置 "WHERE"参数

Android 使用 JTransform 库可视化 PCM 数据

Android - 我的 Android SDK 管理器中未显示应用内计费包

java - 如何遍历 Firebase child 的 child 并将他们的 key 添加到列表中?

javascript - 你如何重绘从 p5.js javascript 中的类创建的对象