【发布时间】:2020-03-22 21:40:43
【问题描述】:
我想执行 MainActivity 中的这个方法...
public void checkNow(View view) {
new Thread(() -> {
//codes...
EditText getSite = findViewById(R.id.site);
site = getSite.getText().toString();
//codes...
Toast.makeText(this, "Connecting...", Toast.LENGTH_SHORT).show();
new MovieAsyncTask().execute(movie, url, site);
}).run();
}
...来自以下课程
public class MovieUpdatesService extends JobService {
private static final String TAG = "MovieUpdatesService";
private boolean jobCancelled = false;
@Override
public boolean onStartJob(JobParameters params) {
Log.d(TAG, "Job started");
doBackgroundWork(params);
return true;
}
public void doBackgroundWork(final JobParameters params) {
if (jobCancelled)
return;
//call checkNow() method here
Log.d(TAG, "Job finished");
jobFinished(params, false);
}
@Override
public boolean onStopJob(JobParameters params) {
Log.d(TAG, "Job cancelled before completion");
jobCancelled = true;
return true;
}
}
我想致电checkNow(View view),但我不知道如何从此类访问这些视图。
我尝试使用interface,但我不明白如何使它适用于我的情况。
我是 android 新手,所以如果可能的话,我正在寻找一个简单的解决方案
【问题讨论】:
-
为了更好地理解您的问题,您想从服务本身获取视图 (textview) 及其内容吗?
-
@tomerpacific 我想从服务类调用
checkNow(View view),但我不知道如何访问这些视图 -
我不会从服务访问视图。由于视图与活动有关,我会将它们留在那里。从服务中调用它们的触发器是什么?您是否考虑过只更新服务的成员变量?
-
@tomerpacific 我该怎么做?
-
我的回答对你有帮助吗?
标签: java android android-activity view jobservice