首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -从小部件视图类启动线程

Android -从小部件视图类启动线程
EN

Stack Overflow用户
提问于 2014-03-25 21:56:22
回答 1查看 95关注 0票数 0

所以我有个看法:

代码语言:javascript
复制
public class RadialMenuWidget extends View 

我想从哪里开始线程,就像我从一个活动中开始一样

代码语言:javascript
复制
String urlInput = "http://myserver.com/"+mynewfile;
DownloaderThread downloaderThread = new DownloaderThread(UpdateActivity, urlInput);
downloaderThread.start();

但我得到了"DownloaderThread(UpdateActivity,.“)行中的消息"Expression”。更具体地说,在活动名称(UpdateActivity)上,即使我在Widget中导入了活动。

在还能调用线程的同时,我能做些什么来避免这种情况呢?

我使用RadialMenuWidget,在RadialMenuWidget类中测试哪个菜单按钮被按下,然后在此基础上决定下一步该做什么。调用其他意图很好,但是现在我想使用一个单独的线程(我可以从常规活动的onButtonClick调用)下载一个文件。

编辑,所以我的radialMenu有这样的结构:

代码语言:javascript
复制
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类如下所示:

代码语言:javascript
复制
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
    }
...
}

请帮帮忙。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-03-26 15:16:29

我的解决方案在最后是模仿一个2按钮径向菜单使用图像。我用图像作为按钮的背景,将它们放置在线性布局中,使用9补丁图像,并像以前一样调用线程onClick。因此,我避免了在这个视图中处理radialMenuWidget。所以问题现在结束了。我希望有一个java解决方案来解决这个问题,因为我是个新手,渴望学习任何Android,但这就是我的(丑陋的)解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22647152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档