当前位置: 首页 > 知识库问答 >
问题:

关于“回收器视图”的错误。没有连接适配器,跳过布局“

姬天逸
2023-03-14

我有一些关于适配器的问题,这是我的loadData()方法

public class MainActivity extends AppCompatActivity {
private static final String URL_DATA = "http://api.openweathermap.org/data/2.5/weather?q=Malang&appid=2c869002c83226532f2ac719d5c80c49";

private RecyclerView mRecyclerView;
private RecyclerView.Adapter adapter;
ArrayList<List> listItem;
private void loadData (){
    final ProgressDialog progressDialog = new ProgressDialog(this) ;
    progressDialog.setMessage("Loading Data");
    progressDialog.show();

    StringRequest stringRequest = new StringRequest(Request.Method.POST,
            URL_DATA,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String s) {
                    progressDialog.dismiss();
                    try {
                        JSONObject jobj = new JSONObject(s);
                        JSONArray array = jobj.getJSONArray("weather");

                        for (int i=0; i<array.length(); i++){
                            JSONObject obj = array.getJSONObject(i);
                            List item = new List(
                                    obj.getString("description"),
                                    obj.getString("main"),
                                    obj.getString("base")
                            );
                            listItem.add(item);
                        }
                        adapter = new CustomAdapter(getApplicationContext(), listItem);
                        mRecyclerView.setAdapter(adapter);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    progressDialog.dismiss();
                    Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
                }
            });
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
  }
}
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listItem = new ArrayList<>();
    adapter = new CustomAdapter(MainActivity.this, listItem);
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
    mRecyclerView.setLayoutManager(mLayoutManager);
    mRecyclerView.setAdapter(adapter);
    loadData();
}

另一个Java:1。名单。Java

public class List {
//public int gambar;
public String nama;
public String suhu;
public String kelembapan;
public List (String nama, String suhu, String kelembapan) {

    this.nama = nama;
    this.suhu = suhu;
    this.kelembapan = kelembapan;
}
public String getNama(){
    return nama;
}
public String getSuhu(){
    return suhu;
}
public String getkelembapan(){
    return kelembapan;
}

}

共有1个答案

谢裕
2023-03-14

尝试使用mainactivity.this而不是GetApplicationContext()

在设置Adater之前,还要将Layout Manager设置为代码

mRecyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
 类似资料:
  • 我收到以下错误:“RecyclerView:未连接适配器;跳过布局”,但我已连接适配器...我尝试了许多不同的方法,但我无法解决错误。 我正在使用Volley库获取数据。当我启动活动时,只有进度条可见,直到结束,我收到上面的Logcat消息。我在中添加了带有适配器的。你能帮我吗? 这是我的代码: 主活动 地震适配器 MainActivity.xml 地震法。xml

  • 图像不显示。在一个SO例子中说要检查适配器中的计数,但我认为它是正确的。我在logcat中得到这个错误 这是代码主活动 这是我的适配器。

  • 它给了我“回收站视图:没有连接适配器;跳过布局“错误,但在我看来适配器已正确连接。请帮忙。 我正在移动我的方法,但它不起作用。我在这里寻找答案,但只有错误实现的适配器存在问题。我不知道这里出了什么问题。

  • 我有一个带有recycler视图的活动,当我单击其中的一个项目时,它会导致带有另一个recycler视图的活动。然而,它一直给我一个“E/RecyclerView:没有适配器连接;跳过布局”错误。 这是onCreate()方法: 我看到了另一个类似于此的问题,即在运行其他线程之前连接适配器,但我不认为在这个活动中还有其他线程在运行。getBundleData()只执行以下操作:

  • ListPetientFragment。JAVA 错误是:2021-11-17 18:41:02.417 29997-29997/?E/rtphonemedicat:运行时设置的未知位_标志:0x8000 2021-11-17 18:41:03.628 29997-30029/com。尼戈特。smartphonemedicate E/GED:无法获取GED日志Buf,错误(0)2021-11-17

  • 我根据类似问题的答案修改了代码,但没有一个有效。我正在使用TabFragments和RecyclerViews。控制台显示错误“E/RecyclerView:No adapter attached;kipping layout”四次。 (当修改它也给了我错误java.lang.NullPointerException:试图调用虚方法'voidandroid.support.v7.widget.Re