Android RecyclerView(适配器)不显示任何内容

Android RecyclerView(适配器)不显示任何内容,android,android-recyclerview,Android,Android Recyclerview,我试图用Android回收器视图显示一些物品的列表 我在这里和其他地方看到一些人有类似的问题,但我自己的代码无法解决 事实上,我有另一个回收者的观点,这是可行的。这可能很简单,但我看不出来 这是我的密码: public class ModulesActivity extends AppCompatActivity implements ModuleLineHolder.OnModuleListener { private static final String TAG = "D

我试图用Android回收器视图显示一些物品的列表

我在这里和其他地方看到一些人有类似的问题,但我自己的代码无法解决

事实上,我有另一个回收者的观点,这是可行的。这可能很简单,但我看不出来

这是我的密码:

    public class ModulesActivity extends AppCompatActivity implements ModuleLineHolder.OnModuleListener {

    private static final String TAG = "DEBUG";

    RecyclerView mRecyclerView;
    ModuleLineAdapter mAdapter;

    ArrayList<Card> data;
    ArrayList<String> fakeData;
    ApiInterface apiService;

    ModuleList moduleList;
    Card module;

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

        mRecyclerView = findViewById(R.id.rvModules);

        setupRecycler();
    }

    private void setupRecycler() {

        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        mRecyclerView.setLayoutManager(layoutManager);

        initData();

        mAdapter = new ModuleLineAdapter(data, this);
        mRecyclerView.setAdapter(mAdapter);

    }

    private void initData() {
        Log.d(TAG, "initData: ");
        data = new ArrayList<>();
        fakeData = new ArrayList<>();

        apiService =
                ApiClient.getClient().create(ApiInterface.class);

        Call<ModuleList> call = apiService.getModules(
                "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsImlzcyI6Imh0dHA6Ly9kb3NlZXh0cmEuZG9zZXJwLmNvbS5ici9hcGkvYXV0aC9sb2dpbiIsImlhdCI6MTU1MDQ5NjY1NiwiZXhwIjoxNTgxNTk3MDU2LCJuYmYiOjE1NTA0OTY2NTYsImp0aSI6Im13UXpjMGllajdLbmRkQlIifQ.lsmXbEpOhfG0BGhzHwZcSJWXyuWHGHCLI_u5ad4VICY"
        );

        call.enqueue(new Callback<ModuleList>() {
            @Override
            public void onResponse(Call<ModuleList> call, Response<ModuleList> response) {
                moduleList = response.body();
                Log.d(TAG, "onResponse - Call: " + response.body().getCards().get(0).getTitle());
                Log.d(TAG, "onResponse - moduleList Size: " + moduleList.getCards().size());

                for (int i=0; i < moduleList.getCards().size(); i++) {
                    data.add(new Card(
                            response.body().getCards().get(i).getTitle(),
                            response.body().getCards().get(i).getContent(),
                            response.body().getCards().get(i).getId(),
                            response.body().getCards().get(i).getLink()
                    ));

                    Log.d(TAG, "onResponse - Call: " + response.body().getCards().get(i).getTitle());
                }

            }

            @Override
            public void onFailure(Call<ModuleList> call, Throwable t) {

            }

        });

    }

    @Override
    public void onModuleClick(int position) {
        Log.d(TAG, "onModuleClick: clicked " + position);
        Toast.makeText(this, "Module: " + module.getId(), Toast.LENGTH_LONG).show();
//        Intent intent = new Intent(getContext(), ModulesActivity.class);
//        intent.putExtra("id", client.getId());
//        startActivity(intent);
    }
}
公共类模块活动扩展了AppCompativity实现了ModuleLineHolder.OnModuleListener{
私有静态最终字符串TAG=“DEBUG”;
回收视图mRecyclerView;
ModuleLeadapter-mAdapter;
阵列列表数据;
ArrayList伪造数据;
APIs接口apiService;
模块列表模块列表;
卡模块;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_模块);
mRecyclerView=findviewbyd(R.id.rvModules);
设置回收器();
}
私人回收商(){
LinearLayoutManager layoutManager=新的LinearLayoutManager(此);
mRecyclerView.setLayoutManager(layoutManager);
initData();
mAdapter=新模块leadapter(数据,本);
mRecyclerView.setAdapter(mAdapter);
}
私有void initData(){
Log.d(标签“initData:”);
数据=新的ArrayList();
fakeData=newarraylist();
蜂房服务=
ApiClient.getClient().create(apinterface.class);
Call Call=apiService.getModules(
“EYJ0Exaiioijkv1QILCHbGciijiuzi1NIJ9.EYJZDwiojmZcy6Yb3nLzxH0cmeuzG9ZZxJWlMnVbS5ICI9HcGkVyxV0Ac9Sb2DbIISimlHdCi6mJy1Njy1NiwizHwjjjjjjjJ0Njy2Nj2Nj2Nj2Nj2Nj2Nj1Nj2Nj2Nj2Nj2Nj2Nj2Uy2UyMj2Uy6Uy6UyMyMy1Nj1Nj2My1Nj1Nj1Nj0My0My0My2Nj0Nt2
);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
moduleList=response.body();
Log.d(标记“onResponse-Call:”+response.body().getCards().get(0.getTitle());
Log.d(标记“onResponse-moduleList Size:+moduleList.getCards().Size());
对于(int i=0;i
如果需要更多的代码,请告诉我。

因为
initData()函数执行异步操作,完成后需要通知适配器。因此,基本上您需要在更新数据列表后调用
mAdapter.notifyDataSetChanged()

因为
initData()函数执行异步操作,完成后需要通知适配器。因此,基本上您需要在更新数据列表后调用
mAdapter.notifyDataSetChanged()