gpt4 book ai didi

java - 从我的异步线程调用 Activity 类中的方法

转载 作者:行者123 更新时间:2023-12-01 08:16:07 24 4
gpt4 key购买 nike

public class AycanClass extends AsyncTask<String, Void, String> implements IAppointments {

Activity activity;

public AycanClass(Activity activity){
this.activity = activity;
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
activity.setFilters(value);
}
}

现在在我的 MainActivity 类中我有这样的方法。

public void setFilters(String result){

}

我无法调用此方法。

The method setFilters(result) is undefined for the type Activity

最佳答案

您应该使用具有单一方法的接口(interface):此处为“setFilters”您的 Activity 应该实现此接口(interface),并且您的 asynctask 构造函数将请求您的接口(interface)的实例。

public interface ISetFiltersInterface{
public void setFilters(List<Filter>);
}

public class MyActivity extends Activity implements ISetFiltersInterface{
...
public void setFilters(List<Filter>){
//TODO
}
}

public class AycanClass extends AsyncTask<String, Void, String> implements IAppointments {

ISetFiltersInterface delegate;

public AycanClass(ISetFiltersInterface delegate){
this.delegate = delegate;
}

@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
delegate.setFilters(value);
}
}

关于java - 从我的异步线程调用 Activity 类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13232747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com