我有一个mainAcitivity和另外两个名为“TestAdapter”和“CustomAdapter”的类。 在我的主要活动中,我通常可以从我访问数据库的地方调用“TestAdapter”类。 像这样:
公共类MainActivity扩展了Activity {
TestAdapter mDbHelper = new TestAdapter(this);
onCreate() {
mDbHelper.createDatabase();
.....
我的TestAdapter类看起来像这样。在这个类中有不同的方法/功能:
public class TestAdapter
{
public Context mContext;
private SQLiteDatabase mDb;
private DataBaseHelper mDbHelper;
public TestAdapter(Context context)
{
this.mContext = context;
mDbHelper = new DataBaseHelper(mContext);
}
这个类中有一个方法,如下所示:
public TestAdapter createDatabase() { mDbHelper.createDataBase(); }
public TestAdapter open() { mDbHelper.openDataBase();}
public void add_to_fav(String fav_word){}
我创建了另一个名为CustomAdapter的类 但是无法在此类中访问add_to_fav方法以将数据添加到数据库中。
我需要调用TestAdapter类的“add_to_fav”方法将一些数据更新到数据库中。
public class CustomAdapter extends BaseAdapter
{
TestAdapter t=new TestAdapter(this);
t.add_to_fav("data")
}
但我不能像这样访问我应该做什么? 任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:0)
您正在尝试使用参数TestAdapter
创建新的this
,这是CustomAdapter
。
您只有一个以Context
为参数的构造函数。
public TestAdapter(Context context)
您必须提供适当的构造函数:
public TestAdapter(CustomAdapter adapter) { }
TestAdapter test = new TestAdapter(this);
或
public TestAdapter() { }
TestAdapter test = new TestAdapter();
答案 1 :(得分:0)
您需要拥有一个带有Context的CustomAdapter构造函数。
public class CustomAdapter extends BaseAdapter
{
public Context mContext;
public CustomAdapter(Context context)
{
mContext = context;
}
TestAdapter t=new TestAdapter(mContext);
t.add_to_fav("data")
}