基本问题 - 我还在学习Android - 尝试创建一个单独的线程来进行数据库查询并遇到问题。我把我的数据库例程放在他们自己的类中,但似乎无法从线程中访问它:
public class TripsScreenActivity extends Activity implements OnClickListener {
public class dbThread extends AsyncTask<Cursor, Integer, Cursor> {
@Override
protected Cursor doInBackground(Cursor... arg0) {
// TODO Auto-generated method stub
// Link to WYWHApplication module
WYWHApplication wywh = (WYWHApplication) this.getApplication();
try {
Cursor tripList = wywh.getBasicList();
...但是Eclipse给了我以下错误:
The method getApplication() is undefined for the type TripsScreenActivity.dbThread
对不起,可能是一个明显的答案......感谢任何帮助。
答案 0 :(得分:2)
this
在AsyncTask
内使用时会引用doInBackground()
。您想引用自己的活动,因此请使用TripsScreenActivity.this.getApplication()
¹而不是this.getApplication()
。< / p>
¹被称为“合格的”