gpt4 book ai didi

java - 使用 getter setter 初始化 List

转载 作者:行者123 更新时间:2023-12-01 22:27:21 27 4
gpt4 key购买 nike

当我收到响应时,我尝试在同一个类中使用 setter 方法初始化列表,但当我从其他类调用 getter 时,它返回一个空列表。我想要实现的目标在技术上可行吗?

public class CategoryCommonAPI
{
private Context context;
private String endUrl;
private UserAccessToken userAccessToken;
private String ITV_BASE_URL;
private List<CategoryCommonResponse> itemq;


public CategoryCommonAPI(Context context, String endUrl, List<CategoryCommonResponse> itemq)
{
this.context = context;
this.endUrl = endUrl;
this.itemq = itemq;
ITV_BASE_URL = context.getString(R.string.baseUrl);
userAccessToken = new UserAccessToken(context);
}

public void getAllCategory()
{
Toast.makeText(context, "Iam thanos", Toast.LENGTH_SHORT).show();

String token ="Bearer "+userAccessToken.getAccessToken();
final ITV_API_Service itvApiService = RetrofitClient.getClient(ITV_BASE_URL).create(ITV_API_Service.class);
itvApiService.categoriesItem(endUrl,token).enqueue(new Callback<List<CategoryCommonResponse>>() {
@Override
public void onResponse(Call<List<CategoryCommonResponse>> call, Response<List<CategoryCommonResponse>> response)
{
if (response.isSuccessful())
{
List<CategoryCommonResponse> item = response.body();
Toast.makeText(context, "Iam called", Toast.LENGTH_SHORT).show();
setItem(item);




}
}

@Override
public void onFailure(Call<List<CategoryCommonResponse>> call, Throwable t)
{
Toast.makeText(context, "Image response failed", Toast.LENGTH_SHORT).show();


}
});
}

private void setItem(List<CategoryCommonResponse> item)
{
this.itemq= item;

Log.d("List size", "setItem: "+item.size());
Log.d("Return List", "setItem: "+itemq.size());
}

public List<CategoryCommonResponse> getItemq()
{
return this.itemq;
}
}

我所说的地方是

CategoryCommonAPI commonAPI = new CategoryCommonAPI(this, endUrl, list);
commonAPI.getAllCategory();
list=commonAPI.getItemq();

当我使用 toast 或 Log.d 检查 list.size() 时,它显示 0 个项目。

最佳答案

由于它是异步调用,并且您试图在调用之后立即检索列表,因此一种可能的方法是在从 getAllCategory() 方法本身设置后返回列表。

关于java - 使用 getter setter 初始化 List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58562703/

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