【发布时间】:2015-05-17 17:47:45
【问题描述】:
我在从线程启动活动时遇到了一些麻烦。
基本上,主活动启动 x 数量的线程,这些线程存储在 arraylist 中。每个线程都尝试从给定的源中查找内容。如果找到相关内容对话框询问他是否要下载它。此时代码有效,但我想开始显示下载过程的活动。
public void activitystart()
{
new Handler().post(new Runnable() {
@Override
public void run() {
Intent i = new Intent(Main_receive_Activity.getcontext(),About_Activity.class);
startActivity(i);
}
}); }
它抱怨它无法解析方法“startActivity”(android.content.Intent)。
有什么建议我可以从扩展线程的类中为活动加注星标,就像我在对话框中使用的相同方法在启动活动时似乎不起作用?
编辑:工作解决方案
public void activitystart()
{
Objectcontainer.popHandler.post(new Runnable()
{
@Override
public void run()
{
Intent i = new Intent(Settings.context, About_Activity.class);
Settings.context.startActivity(i);
}
});}
我将当前上下文存储在 Settings 类的静态上下文变量中,因此是 Settings.context
【问题讨论】:
-
startActivity是Context的一个方法
-
你试过我的解决方案了吗?
-
是的,感谢您的提示,不幸的是我只能接受它作为最佳答案,因为我是 stackoverflow 的新手。我责怪日食的容易性没有弄清楚这一点。这个intellij对我不起作用(至少在默认设置下)1)建议比在eclipse上更糟糕(在这种情况下它建议使用activitycompact)2)在调试(或获取建议)时将鼠标悬停在对象等上以获取值有几个像素的范围(为什么是 f*ck) 3)自动插入的东西比在 Eclipse 中更糟糕。它不断地添加结束括号,而当一个已经存在时,它不会添加。
-
在您的 IDE 中按 Ctrl+Alt+L 来格式化您的代码。
-
我希望括号有自己的行。也是 eclipse 支持得更好的一件事。最后一个括号在同一行,因为如果它们在不同的括号上,stackoverflow 会将它们从代码部分中退出。
标签: java android multithreading