我有一个名为AnnouncementsActivity的类,我在这个onCreate函数中运行一个线程:
new GetAnnouncements().execute();
但是,当我尝试编译代码时,我收到了这个错误:
Error:(42, 59) error: not an enclosing class: AnnouncementsActivity
双击错误将我带到GetAnnouncements类的doInBackground函数:
Toast toast = Toast.makeText(AnnouncementsActivity.this, announcementsList.get(1).get("baslik"), 5);
我从AnnouncementsActivity执行线程,为什么说AnnouncementsActivity不是封闭类?
答案 0 :(得分:0)
enclosing
类是outer
类,包含inner
类。换句话说,两个类都在同一个java文件中定义,“内部”类在“外部”文件中定义。
你是否从另一个人那里打电话/创造它并不会使它成为一个封闭的clsas。
您没有显示足够的代码来显示您尝试执行的操作,但AnnouncementsActivity.this
看起来非常错误。
答案 1 :(得分:0)
你是否将Toast改为runonUIthread然后解决你的问题。
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(AnnouncementsActivity.this, announcementsList.get(1).get("baslik"), 5).show();
}
});
尝试说出回应。