アダプタでビューを塗りつぶし、iamでRVにデータを入力してからスクロールできません。LinearLayoutのRecyclerviewはスクロールできません
これは私のRCです:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/trip_ticket_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/trip_ticket_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</android.support.v4.widget.SwipeRefreshLayout>
RCは、このビューで埋めるある:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/TripMyTicketScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:orientation="vertical">
<Button
android:id="@+id/my_ticket_port_and_directions"
android:layout_width="match_parent"
android:layout_height="@dimen/grid_14"
android:layout_marginEnd="@dimen/grid_2"
android:layout_marginLeft="@dimen/grid_2"
android:layout_marginRight="@dimen/grid_2"
android:layout_marginStart="@dimen/grid_2"
android:layout_marginTop="@dimen/grid_1"
android:height="@dimen/grid_5"
android:background="@color/bg_on_board_button"
android:drawableEnd="@drawable/ic_keyboard_arrow_right"
android:drawableLeft="@drawable/ic_rudder_black_32dp"
android:drawablePadding="6dp"
android:drawableRight="@drawable/ic_keyboard_arrow_right"
android:drawableStart="@drawable/ic_rudder_black_32dp"
android:gravity="center|start"
android:padding="@dimen/grid_2"
android:text="@string/my_ticket_port_and_direction"
android:textColor="@color/text_color_my_trip_button"
android:textStyle="bold" />
<include layout="@layout/view_my_trip_time_schedule" />
<include layout="@layout/view_my_trip_passengers_and_cabins" />
<include layout="@layout/view_my_trip_booking_number" />
</LinearLayout>
ボタンとのTextViewといくつかの線形レイアウトが<include layout=...
であり、そして全体で見ます画面サイズは通常スクロールを開始しますが、この場合はスクロールしません。 この問題を解決しなければならないので、アダプターはまだ空です。
私を助けることができますか? ありがとうございます。
更新 は、これは今のところすべてのデータを記入していない断片
private void initRecyclerView(){
mAdapter = new MyTicketAdapter(getContext());
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerRv.setLayoutManager(mLayoutManager);
mRecyclerRv.setAdapter(mAdapter);
}
アダプタでのRCのinitです。ここでは、アダプタは次のとおりです。
public class MyTicketAdapter extends RecyclerView.Adapter<MyTicketAdapter.MyViewHolder> {
private static final int BARCODE_IMAGE_WIDTH = 150;
private static final int BARCODE_IMAGE_HEIGHT = 40;
private Departure mDeparture;
private final Context mContext;
public class MyViewHolder extends RecyclerView.ViewHolder {
//
// @BindView(R.id.my_ticket_booking_number_barcode_ticket)
// ImageView mBarcodeImageView;
//
// @BindView(R.id.my_ticket_booking_number_barcode_booking_number)
// TextView mBookingNumberBelowBarcode;
//
public MyViewHolder(View view) {
super(view);
ButterKnife.bind(this, view);
}
}
/**
* Creates a new instance of this class.
*
* @param context need values from resource.
*/
public MyTicketAdapter(Context context) {
mContext = context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_trip_ticket, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyTicketAdapter.MyViewHolder holder, int position) {
if (mDeparture == null) {
return;
}
TravelMateLogs.MY_TICKET_ADAPTER.i("--------Departure: " + mDeparture.toString());
// generateBarcode(holder);
}
@Override
public int getItemCount() {
// There is only one item.
if(mDeparture == null){
return 0;
}else {
return 1;
}
}
/**
* Sets the data to be displayed in the list.
*
* @param departure The departure to be displayed in the view. Null will clear the list.
*/
void setData(@Nullable Departure departure) {
mDeparture = departure;
notifyDataSetChanged();
}
}
ただ、テストケースのためにuがアンドロイドを変更することができます:layout_height = "match_parent "をandroid:layout_height =" wrap_content "に設定して、 – Raghavendra
リサイクルビューアイテムのLinearLayoutを試してみました –