如何从自定义视图连接数据库[Android]

时间:2013-05-11 02:36:39

标签: android sqlite android-custom-view

我有一个带有构造函数的数据库连接器类,如下所示

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

1 个答案:

答案 0 :(得分:1)

如果CustomListViewAdapterSelect_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);
}