繁体   English   中英

如何在 java 类中调用 MainActivity 方法?

[英]How to call MainActivity method in a java class?

我正在尝试将我的 MainActivity 方法调用到我在 android studio 中的 java 类中的 doWork 中。 但我不明白。 有没有办法调用这个方法?

MainActivity 中的类

public class MainActivity extends AppCompatActivity implements LocationListener {

    protected double latitude, longitude;
    TextView txtLat, txtLng;

    LocationManager locationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void LocalizarUsuario(){

        txtLat = (TextView) findViewById(R.id.txtLat);
        txtLng = (TextView) findViewById(R.id.txtLng);


        locationManager =(LocationManager)

                getSystemService(Context.LOCATION_SERVICE);

        if(ActivityCompat.checkSelfPermission(MainActivity .this,Manifest.permission.ACCESS_FINE_LOCATION)!=PackageManager.PERMISSION_GRANTED)

        {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 100);
        }
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,this);
    }
}

带有 doWork 的 Java 类

public class WorkerClass extends Worker {
    public WorkerClass(
            @NonNull Context context,
            @NonNull WorkerParameters params) {
        super(context, params);
    }

    @Override
    public Result doWork() {

             LocalizarUsuario();


        // Indicate whether the work finished successfully with the Result
        return Result.success();
    }
}

根据您想要做什么,您可以将 WorkerClass 放入 MainActivity(内部类),或者如果您只想从 MainActivity 使用 WorkerClass,您可以传递

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM