我有一个类可以响应主要活动中的按钮按下来获取数据。不幸的是,我一直遇到问题,因为这个类不是活动或服务。例如,如果没有上下文,我无法将资源 id 转换为字符串:
getString(R.string.example_string); // Doesn't work
我应该把这个类变成一个服务并让主 Activity 在它关闭时停止这个类吗?我应该像这样将 Activity 中的 Context 传递给这个类吗?
MyClass c = new MyClass(this);
或者有没有更好的方法来处理这个问题?
当我尝试从此类中发送 Toast 时,也会出现此问题。
更新: Erich 和 Janusz 向我指出了完美运行的类的方向AsyncTask
,除了它创建了一个新线程并且从不终止该线程。这意味着每次用户按下按钮时,都会添加另一个线程,而旧线程只是坐在那里。