想写一个小程序,其中一个功能就是在主线程开辟一个子线程,在子线程中完成创建数据库
主线程如下:
public class MainActivity extends ActionBarActivity {
private TextView text1,text2,text3;
private Thread CREATE,ADD,LOAD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1=(TextView)findViewById(R.id.text1);
CREATE=new CreateThread();
CREATE.start();
}
子线程如下:
public class CreateThread extends Thread{
@Override
public void run() {
// TODO 自动生成的方法存根
OPhelper create=new OPhelper(MainActivity.this, "stutab", null, 1);
super.run();
}
}
问题就在调用这个OPhelper(SQLiteHelper)中第一个context的参数总是报错,无论是MainActivity.this还是this都报错。于是就求问子线程的context是什么?难道不是主线程所在的activity的context么?
还是说我的思路有问题?
------解决思路----------------------
构造方法啊。。。。必定可以的。。。。如果你一定要自己定义一个类那么你就写个构造方法 参数为 Context context 然后创建时候给个this就可以了
------解决思路----------------------
那就在构造里传递一下就可以了。