如何从扩展了JobService的类中的MainActivity中调用以视图为参数的方法?

问题描述 投票:0回答:1

我想执行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的新手,所以我正在寻找一个简单的解决方案,如果可能的话

java android android-activity view jobservice
1个回答
1
投票

为了允许您的服务保存textview的值,您可以添加一个成员变量。然后您可以公开此字符串的setter方法。

© www.soinside.com 2019 - 2024. All rights reserved.