RecyclerView no se desplaza
Me cansé durante 4 días para obtener mi listview para desplazarse, pero no pude y, a continuación, alguien sugirió utilizar RecyclerView como yo estaba usando CoordinatorLayout, así que lo hice. Ahora, después de entender e implementar RecyclerView todavía tiene el mismo error. No se desplaza ahora lo que se supone que debo hacer ??? Siento ganas de rendirme No tengo a dónde ir.
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_contacts_list, container, false); DataBaseOperations hell = new DataBaseOperations(getActivity()); SQLiteDatabase db = hell.getReadableDatabase(); String[] columns = {mDatabase.Tableinfo.ID,mDatabase.Tableinfo.Contacts_phone,mDatabase.Tableinfo.Contacts_name,mDatabase.Tableinfo.Contact_pic}; Cursor Contacts = db.query(mDatabase.Tableinfo.contacts, columns, null, null, null, null, null); Toast.makeText(getContext(),"come on"+Contacts.getCount(),Toast.LENGTH_SHORT).show(); RecyclerView contacts = (RecyclerView) view.findViewById(R.id.contacts); contacts.hasFixedSize(); RecyclerView.LayoutManager llv = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false); contacts.setLayoutManager(llv); Context t = getContext(); MyContactsRecyclerViewAdapter lv = new MyContactsRecyclerViewAdapter(Contacts,t); contacts.setAdapter(lv); return view; }
Aquí es xml para mi list.xml y está en un paginador debo colocar código para eso también ????
- Android: activa el desplazamiento de la barra de aplicaciones en una base de datos de reciclaje por visor
- Cómo hacer un indicador de página para reciclaje horizontal
- RealmSearchAdapter no recicla la vista
- Problemas de desplazamiento de Dynamic Endless RecyclerView
- NullPointerException - Intentar invocar el método virtual RecyclerView $ ViewHolder.shouldIgnore () 'en una referencia de objeto nulo
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/contacts" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:scrollbars="vertical" tools:listitem="@layout/fragment_contacts" />
Cualquier ayuda sería apreciada. Esto es xml para mi MainActivty.
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".mainactivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMode="fixed" app:tabGravity="fill" /> <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/backscreen3" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> <!-- content_main doesn't really have anything. --> </android.support.design.widget.CoordinatorLayout>
Este es mi RecyclerAdapter.
public class MyContactsRecyclerViewAdapter extends RecyclerView.Adapter<MyContactsRecyclerViewAdapter.ViewHolder> { private Cursor cursor; private Context mcontext; private View view; public MyContactsRecyclerViewAdapter(Cursor cur, Context con){ cursor = cur; mcontext = con; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.fragment_contacts, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(final ViewHolder holder, int position) { cursor.moveToPosition(position); String nam = cursor.getString(cursor.getColumnIndex(mDatabase.Tableinfo.Contacts_name)); String phon = cursor.getString(cursor.getColumnIndex(mDatabase.Tableinfo.Contacts_phone)); byte[] b = cursor.getBlob(cursor.getColumnIndex(mDatabase.Tableinfo.Contact_pic)); holder.name.setText(nam); holder.phone.setText(phon); if (b==null) { Profile bla = new Profile(); holder.pic.setImageBitmap(bla.getRoundedShape(BitmapFactory.decodeResource(mcontext.getResources(), R.drawable.samplepro),60,60)); } else { holder.pic.setImageBitmap(BitmapFactory.decodeByteArray(b,0,b.length)); } } @Override public int getItemCount() { if(cursor != null){ return cursor.getCount();} return 0 ; } public class ViewHolder extends RecyclerView.ViewHolder { public final View mView; public TextView name; public TextView phone; public ImageView pic; public ViewHolder(View view) { super(view); mView = view; pic = (ImageView) view.findViewById(R.id.image); phone = (TextView) view.findViewById(R.id.phone); name = (TextView)view.findViewById(R.id.name); }}}
Eso es todo. Creo que todo está relacionado con él. Por favor encuentre un error.Remember ScrollBars viene y desaparece pero aún no se desplaza
- Pie de página de RecyclerView para rellenar el padre
- ItemDecoration sobreescribir getItemOffsets () y animación
- ¿Cómo evitar que Picasso recargue imágenes en RecyclerView?
- Cómo configurar la aplicación RecyclerView: layoutManager = "" de XML?
- Ocultar barra de desplazamiento de RecyclerView
- Cambiar el número de columnas con GridLayoutManager y RecyclerView
- RecyclerView itemView OnGlobalLayoutListener no se dispara para todos los itemsViews
- Calcular dinámicamente el tamaño de RecyclerView rellenado con StaggeredGridLayoutManager
Parece que tuviste un problema en <include layout="@layout/content_main" />
con ese ViewPager
(como veo en la vista previa de Android)
Utilícelo de esta manera:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="com.example.umerasif.chattris.Chattris"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabMode="fixed" /> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="470dp" android:layout_weight="1" android:background="@android:color/darker_gray" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.AppBarLayout>
Debería funcionar ahora.
Mover el ViewPager fuera de AppBarLayout resolvió mi problema.
- ¿Qué hace la clase SQLiteOpenHelper con el parámetro de contexto?
- LinearyLayout no cambiará el tamaño una vez que su altura sea 0