我有一个带有构造函数的数据库连接器类,如下所示
public class DBConnectionTableTVShow {
public DBConnectionTableTVShow(Context ctx){
this.context = ctx;
dbh = new DBHelper(context);
}
}
我可以像下面的
那样在Activity中创建对象public class Select_episode extends Activity {
DBConnectionTableTVShow dbcon = new DBConnectionTableTVShow(this);
}
现在我想创建对象,就像我在上面的自定义视图适配器类
中所做的那样public class CustomListViewAdapter extends BaseAdapter
{
}
怎么做?
我试过
DBConnectionTableTVShow dbcon = new DBConnectionTableTVShow(this);
这在CustomListViewAdapter
课程中无效
Select_episode的完整代码:http://pastebin.com/R1mSRrqj
CustomListViewAdapter的完整代码:http://pastebin.com/U8Zqw924
答案 0 :(得分:1)
如果CustomListViewAdapter
是Select_episode
的内部类,那么您可以使用
DBConnectionTableTVShow dbcon = new DBConnectionTableTVShow(Select_episode.this);
或者你可以创建一个带有Context param的构造函数,并使用pass in context来实例化你的数据库助手(当你传递它时,它相当于传递一个Context而不是Activity,你应该创建你的param Context,因为你只需要上下文)
LayoutInflater inflater;
List<ListViewItem> items;
DBConnectionTableTVShow dbcon;
public CustomListViewAdapter(Context context, List<ListViewItem> items) {
super();
this.items = items;
this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.dbcon = new DBConnectionTableTVShow(context);
}