gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 07:45:11 25 4
gpt4 key购买 nike

我正在创建 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 is not an enclosing class”错误。

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

但 Android studio 再次告诉我:“MyDbHandler 有私有(private)访问权限”

甚至可以那样做吗?

最佳答案

如果你真的想保留你的内部类,那么将它设为静态并按如下方式使用它:

新的 MyDBHandler.FeedReaderDbHelper(getContext())

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com