所以我有一个观点:
public class RadialMenuWidget extends View
我想从一个活动开始一个线程
String urlInput = "http://myserver.com/"+mynewfile;
DownloaderThread downloaderThread = new DownloaderThread(UpdateActivity, urlInput);
downloaderThread.start();
但是我收到了消息"表达预期"在这一行" DownloaderThread(UpdateActivity,..."更具体地说,在活动名称(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
}
...
}
请帮忙。
谢谢
答案 0 :(得分:0)
我的解决方案最终是模仿使用图像的2按钮径向菜单。我使用图像作为按钮的背景,将它们放置在线性布局中,使用9个补丁图像并像以前一样调用线程onClick。所以我避免在这个视图中处理radialMenuWidget。 所以问题现在已经结束了。 我希望有一个java解决方案来解决这个问题,因为我是一个新手,并且渴望学习任何Android,但就是这样,我会用我的(丑陋的)解决方案来管理。