RecyclerView错误没有连接适配器;

时间:2017-11-18 22:41:43

标签: android android-recyclerview recycler-adapter

我收到错误E / RecyclerView:没有连接适配器;跳过布局,我不知道我做错了什么。

我有一个家庭活动,它调用第二个使用循环视图的活动,但是在执行时却没有显示recyclerView,我得到了logcat中没有改编的错误。 这是创建recyclerView

的活动
public class SearchActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {

Toolbar toolbar;
RecyclerView recyclerView;
PublisherRecyclerAdapter adapter;
RecyclerView.LayoutManager layoutManager;
ArrayList<Publisher> arrayList = new ArrayList<>();
ArrayList<Category> categories = new ArrayList<>();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search);
    toolbar = (Toolbar) findViewById(R.id.search_publisher_toolbar);
    setSupportActionBar(toolbar);
    recyclerView = (RecyclerView)findViewById(R.id.recyclerview);
    layoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setHasFixedSize(true);
            llenarLista();
    adapter = new PublisherRecyclerAdapter(arrayList);
    recyclerView.setAdapter(adapter);
    getClassLoader().setDefaultAssertionStatus(true);
}


@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.menu_items,menu);
    MenuItem menuItem = menu.findItem(R.id.action_search);
    SearchView searchView =(SearchView) MenuItemCompat.getActionView(menuItem);
    searchView.setOnQueryTextListener(this);
    return true;

}

public void llenarLista(){

    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/andro4all",
            "http://cdn.marketplaceimages.windowsphone.com/v8/images/42ca5c19-9425-40fb-92ba-45136bc8bdb8?imageType=ws_icon_large",
            null));
    arrayList.add(new Publisher("EN",
            "https://www.theverge.com/rss/index.xml",
            "https://cdn.vox-cdn.com/images/verge/2.0/verge-icon-196x196.v503bbf1f91b9b655a6b9bb5bd0c3c9efff02826a.png",
            null));
    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/xataka2",
            "https://pbs.twimg.com/profile_images/801704006527623168/Lv_XrMvF.jpg",
            null));
    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/vidaextra",
            "https://pbs.twimg.com/profile_images/845190979648798721/sfRTD5B1_400x400.jpg",
            null));
    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/espinof",
            "https://pbs.twimg.com/profile_images/877185802509459456/GvMMxoHn.jpg",
            null));
    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/elblogsalmon2",
            "https://pbs.twimg.com/profile_images/849950964366880773/Ixps5i7I_400x400.jpg",
            null));
    arrayList.add(new Publisher("ES",
            "https://feeds.feedburner.com/genbeta",
            "https://i.pinimg.com/originals/a4/0d/f2/a40df2b2c56834df0620f50a3910286f.jpg",
            null));
    arrayList.add(new Publisher("ES",
            "http://agilismoatwork.blogspot.com/feeds/posts/default",
            "https://www.mti.cl/wp-content/uploads/2017/08/Patricio-Letelier.jpg",
            null));
}





@Override
public boolean onQueryTextSubmit(String query) {
    return false;
}

@Override
public boolean onQueryTextChange(String newText) {
    newText = newText.toLowerCase();
    ArrayList<Publisher> listaFiltrada = new ArrayList<>();
    for(Publisher publisher : arrayList){

        String url = publisher.getUrl().toLowerCase();
        if(url.contains(newText))
            listaFiltrada.add(publisher);
    }
    adapter.setFilter(listaFiltrada);

    return true;
}

}

这就是适配器

public class PublisherRecyclerAdapter extends RecyclerView.Adapter<PublisherRecyclerAdapter.MyViewHolder> {
ArrayList<Publisher> arrayList = new ArrayList<>();

public PublisherRecyclerAdapter(ArrayList<Publisher> arrayList)

{

    this.arrayList = arrayList;

}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_layout_publisher,parent,false);

    return new MyViewHolder(view);
}

@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
    holder.p_url.setText(arrayList.get(position).getUrl());
    holder.p_lan.setText(arrayList.get(position).getLanguage());
    //Picasso.with(context).load(arrayList.get(position).getIcon()).into(holder.p_icon);







}

@Override
public int getItemCount() {
    return arrayList.size();
}


public static  class MyViewHolder extends RecyclerView.ViewHolder {

   // ImageView p_icon;
    TextView p_url;
    TextView p_lan;



    public MyViewHolder(View itemView) {
        super(itemView);
        //si sale algo mal mirar nombre del id
        //p_icon =(ImageView)itemView.findViewById(R.id.icono);
        p_url =(TextView)itemView.findViewById(R.id.url);
        p_lan = (TextView)itemView.findViewById(R.id.language);

    }



}

public void setFilter(ArrayList<Publisher> newList){
    arrayList = new ArrayList<>();
    arrayList.addAll(newList);
    notifyDataSetChanged();
}
}

我用主要活动,适配器和xml创建了一个简单的项目,但是在这里我不知道如何解决这个错误。

你能帮我吗?

这里的编辑是堆栈跟踪

11-19 11:38:24.922 3379-3379/? I/art: Not late-enabling -Xcheck:jni (already 
on)
11-19 11:38:24.969 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_dependencies_apk.apk 
--oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_dependencies_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.081 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_0_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_0_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.098 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_1_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_1_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.113 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_2_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_2_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.129 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_3_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_3_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.147 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_4_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_4_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.159 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_5_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_5_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.174 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_6_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_6_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.191 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_7_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_7_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.210 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_8_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_8_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.225 3379-3379/com.pin.sergio.saturn W/art: Failed 
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg  --
debuggable --instruction-set=x86_64 --instruction-set-
features=smp,ssse3,sse4.1,sse4.2,-avx,-avx2 --runtime-arg -Xrelocate --boot-
image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -
Xmx512m --instruction-set-variant=x86_64 --instruction-set-features=default 
--dex-file=/data/app/com.pin.sergio.saturn-1/split_lib_slice_9_apk.apk --
oat-file=/data/dalvik-cache/x86_64/data@app@com.pin.sergio.saturn-
1@split_lib_slice_9_apk.apk@classes.dex) because non-0 exit status
11-19 11:38:25.226 3379-3379/com.pin.sergio.saturn W/System: ClassLoader 
referenced unknown path: /data/app/com.pin.sergio.saturn-1/lib/x86_64
11-19 11:38:25.228 3379-3379/com.pin.sergio.saturn I/InstantRun: starting 
instant run server: is main process
11-19 11:38:25.301 3379-3379/com.pin.sergio.saturn W/art: Before Android 
4.1, method android.graphics.PorterDuffColorFilter

android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter,android.content.res.ColorStateList,android.graphics.PorterDuff $ Mode)会错误地覆盖android.graphics中的package-private方法.drawable.Drawable 11-19 11:38:25.609 3379-3417 / com.pin.sergio.saturn D / OpenGLRenderer:使用EGL_SWAP_BEHAVIOR_PRESERVED:true

                                                                 [ 11-19 11:38:25.611  3379: 3379 D/         ]
                                                                 HostConnection::get() New Host Connection established 0x7f665a55d6c0, tid 3379


                                                                 [ 11-19 11:38:25.612  3379: 3379 W/         ]
                                                                 Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 

                                                                 [ 11-19 11:38:25.693  3379: 3417 D/         ]
                                                                 HostConnection::get() New Host Connection established 0x7f6665cd1360, tid 3417


                                                                 [ 11-19 11:38:25.694  3379: 3417 W/         ]
                                                                 Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 
11-19 11:38:25.695 3379-3417/com.pin.sergio.saturn I/OpenGLRenderer: 
Initialized EGL, version 1.4
11-19 11:38:25.695 3379-3417/com.pin.sergio.saturn W/OpenGLRenderer: Failed 
to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
11-19 11:38:25.706 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglCreateContext: 0x7f6665cf22a0: maj 2 min 0 rcv 2
11-19 11:38:25.714 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:25.742 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:25.767 3379-3379/com.pin.sergio.saturn E/RecyclerView: No 
adapter attached; skipping layout
11-19 11:38:25.795 3379-3379/com.pin.sergio.saturn W/art: Before Android 
4.1, method int 
android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, 
boolean) would have incorrectly overridden the package-private method in 
android.widget.ListView
11-19 11:38:25.842 3379-3379/com.pin.sergio.saturn E/RecyclerView: No 
adapter attached; skipping layout
11-19 11:38:26.432 3379-3379/com.pin.sergio.saturn W/Glide: Failed to find 
GeneratedAppGlideModule. You should include an annotationProcessor compile 
dependency on com.github.bumptech.glide:compiler in your application and a 
@GlideModule annotated AppGlideModule implementation or LibraryGlideModules 
will be silently ignored
11-19 11:38:31.057 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:31.058 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:31.108 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:31.131 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:31.166 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:31.221 3379-3417/com.pin.sergio.saturn E/Surface: 
getSlotFromBufferLocked: unknown buffer: 0x7f6665cf2980
11-19 11:38:31.228 3379-3417/com.pin.sergio.saturn D/OpenGLRenderer: 
endAllStagingAnimators on 0x7f665884ec00 (StateListDrawable) with handle 
0x7f6658bc7040
11-19 11:38:35.770 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:38:35.843 3379-3417/com.pin.sergio.saturn E/Surface: 
getSlotFromBufferLocked: unknown buffer: 0x7f66590a7d60
11-19 11:39:53.563 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:39:53.612 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:39:53.638 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:39:53.640 3379-3417/com.pin.sergio.saturn E/Surface: 
getSlotFromBufferLocked: unknown buffer: 0x7f6665cf28e0
11-19 11:40:59.126 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:40:59.206 3379-3417/com.pin.sergio.saturn E/Surface: 
getSlotFromBufferLocked: unknown buffer: 0x7f6665cf3f60
11-19 11:41:04.792 3379-3417/com.pin.sergio.saturn D/EGL_emulation: 
eglMakeCurrent: 0x7f6665cf22a0: ver 2 0 (tinfo 0x7f665a4315c0)
11-19 11:41:04.795 3379-3417/com.pin.sergio.saturn E/Surface: 
getSlotFromBufferLocked: unknown buffer: 0x7f6665cf2480

我再次使用堆栈跟踪,我发出了错误,并得到了这个错误:

11-19 16:21:59.562 3050-3050/com.pin.sergio.saturn E/RecyclerView: No 
adapter attached; skipping layout
11-19 16:21:59.605 3050-3050/com.pin.sergio.saturn W/art: Before Android 
4.1, method int 
android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, 
boolean) would have incorrectly overridden the package-private method in 
android.widget.ListView
11-19 16:21:59.731 3050-3050/com.pin.sergio.saturn E/RecyclerView: No 
adapter attached; skipping layout
11-19 16:22:00.217 3050-3050/com.pin.sergio.saturn W/Glide: Failed to find 
GeneratedAppGlideModule. You should include an annotationProcessor compile 
dependency on com.github.bumptech.glide:compiler in your application and a 
@GlideModule annotated AppGlideModule implementation or LibraryGlideModules 
will be silently ignored

1 个答案:

答案 0 :(得分:0)

使用此

   LinearLayoutManager mLinearLayoutManager=new LinearLayoutManager(this);
   receylerview.setLayoutManager(mLinearLayoutManager);