如果我的数据是在数组列表中,如何从网络上获得响应?

我想从网络中获得响应,这是一个数组列表,并将该数组列表发送到下一个活动,这样我就可以在我的recyclerView中显示它。

public void sendPost(){
        Call<List<SearchModel>> call = mAPIService.sendSearch("1","2");
        call.enqueue(new Callback<List<SearchModel>>() {
            @Override
            public void onResponse(Call<List<SearchModel>> call, retrofit2.Response<List<SearchModel>> response) {
                Toast.makeText(getApplicationContext(), " Responce " +response.body(), Toast.LENGTH_SHORT).show();
                if (response.isSuccessful()){

                    SearchModel searchResponse = response.body().get(0);
                    assert searchResponse != null;

                    searchModelList.add(searchResponse);
                    Intent intent1 = new Intent(getApplicationContext(),ResultsSearch.class);
                    Bundle bundle = new Bundle();
                    bundle.putSerializable("mylist",searchModelList);
                    intent1.putExtras(bundle);
                    startActivity(intent1);

                }else {
                    Toast.makeText(getApplicationContext(),"Something is error",Toast.LENGTH_SHORT).show();
                }

            }

            @Override
            public void onFailure(Call<List<SearchModel>> call, Throwable t) {
                Log.e("msg","Failed "+t);
                Toast.makeText(getApplicationContext(),t.getMessage(),Toast.LENGTH_LONG).show();
            }
        });
    }

而且当我发送一个数据时,通过存储这个值 response.body().get(0) 在我的模型中,我的应用程序崩溃了。如何解决这些错误,我在下一个活动中得到的值是这样的,我想从网络中得到响应,这是一个数组列表,并将该数组列表发送给下一个活动,以便在我的recyclerView中显示。

public class ResultsSearch extends AppCompatActivity {
    Intent mIntent;
    List vehicleResponse;
    Bundle bundle;

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

        bundle = this.getIntent().getExtras();
        init();


    }
    private void init(){

        vehicleResponse = bundle.getParcelableArrayList("mylist");

        RecyclerView recyclerView = (RecyclerView) findViewById(R.id.card_recycler_view);
        recyclerView.setHasFixedSize(true);

        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(layoutManager);

        SearchAdapter searchAdapter = new SearchAdapter(vehicleResponse,getApplicationContext());
        recyclerView.setAdapter(searchAdapter);


    }
}

解决方案:

确保SearchModel是可包裹的,但正确的方法是在Bundle中传递搜索参数,然后在ResultsSearch上进行API调用。

给TA打赏
共{{data.count}}人
人已打赏
未分类

OAuth是保障Angular应用的API安全的好方法吗?

2022-10-26 6:14:22

未分类

在tensorflow 2.1.0中强制急切执行的问题

2022-10-26 6:14:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索