所以我有个看法:
public class RadialMenuWidget extends View 我想从哪里开始线程,就像我从一个活动中开始一样
String urlInput = "http://myserver.com/"+mynewfile;
DownloaderThread downloaderThread = new DownloaderThread(UpdateActivity, urlInput);
downloaderThread.start();但我得到了"DownloaderThread(UpdateActivity,.“)行中的消息"Expression”。更具体地说,在活动名称(UpdateActivity)上,即使我在Widget中导入了活动。
在还能调用线程的同时,我能做些什么来避免这种情况呢?
我使用RadialMenuWidget,在RadialMenuWidget类中测试哪个菜单按钮被按下,然后在此基础上决定下一步该做什么。调用其他意图很好,但是现在我想使用一个单独的线程(我可以从常规活动的onButtonClick调用)下载一个文件。
编辑,所以我的radialMenu有这样的结构:
public class RadialMenuWidget extends View {
...
public interface RadialMenuEntry {
...
}
public RadialMenuWidget(Context context) {
...
}
@Override
public boolean onTouchEvent(MotionEvent e) {
...
if (state == MotionEvent.ACTION_UP) {
...
if (menuEntries.get(i).getName() == "Update now") {
String urlInput = "http://myhost.com/"+mynewfile;
DownloaderThread downloaderThread = new DownloaderThread(this.UpdateActivity, urlInput);
downloaderThread.start();
}
}
...DownloadThread类如下所示:
public class DownloaderThread extends Thread {
public DownloaderThread(UpdateActivity inParentActivity, String inUrl)
{
downloadUrl = "";
if(inUrl != null)
{
downloadUrl = inUrl;
}
parentActivity = inParentActivity;
}
@Override
public void run()
{
// does the download
}
...
}请帮帮忙。
谢谢
发布于 2014-03-26 15:16:29
我的解决方案在最后是模仿一个2按钮径向菜单使用图像。我用图像作为按钮的背景,将它们放置在线性布局中,使用9补丁图像,并像以前一样调用线程onClick。因此,我避免了在这个视图中处理radialMenuWidget。所以问题现在结束了。我希望有一个java解决方案来解决这个问题,因为我是个新手,渴望学习任何Android,但这就是我的(丑陋的)解决方案。
https://stackoverflow.com/questions/22647152
复制相似问题