私はRecyclerviewにユーザーが挿入したアイテムを入力しました。私はローテーションの機能を実装しています。なぜなら、デバイスを回すと、recyclerviewに空が表示されるからです。Recyclerviewは画面を回転させた後にリサイズされません
アプリをデバッグすると、rotateとArrayListのサイズが同じになる前と前に完全性がチェックされています。私は問題がRecyclerviewのsetNestedScrollingEnabled(false)
だと思っています。これはrvにスクロールを表示したくないので設定します。
問題はです:私はポートレートモードです。私は3つのアイテムを追加しました。それはrecyclerviewで完璧を示しています。画像を確認してください:私が風景に画面を回転すると
、recyclerviewのArrayListのは、3つのアイテムを持っているが、高さはそれだけで一つのアイテムを持っているapppearsそれほど変わりません。だから、
、私はこれをどのように解決しますか?
Recyclerview:
itemsRv = (RecyclerView) findViewById(R.id.itemsRv);
itemsRv.setNestedScrollingEnabled(false);
itemAutoCompleteAdapter = new ItemAutoCompleteAdapter(this);
if(items ==null){
items = new ArrayList<>();
}
itemsAdapter = new ItemsRowAdapter(this, items, new ItemsRowAdapter.itemsRowListener() {
@Override
public void editarItemOnClick(View v, int position) {
editar_item(items.get(position), position);
}
@Override
public void eliminarItemOnClick(View v, final int position) {
}
});
itemsRv.setHasFixedSize(true);
LinearLayoutManager mLayoutManager = new LinearLayoutManager(this);
itemsRv.setLayoutManager(mLayoutManager);
itemsRv.setAdapter(itemsAdapter);
レイアウト:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginBottom="4dp"
android:text="Items"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/header_rv_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">
<TextView
android:id="@+id/textView3"
android:layout_width="@dimen/widthColumnTable"
android:layout_height="wrap_content"
android:layout_weight="2.8"
android:textStyle="bold"
android:text="Descripción" />
<TextView
android:id="@+id/textView5"
android:layout_width="@dimen/widthColumnTable"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="right"
android:textStyle="bold"
android:text="Cantidad" />
<TextView
android:id="@+id/textView8"
android:layout_width="@dimen/widthColumnTable"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:gravity="right"
android:textStyle="bold"
android:text="Precio total" />
<TextView
android:text="Acciones"
android:textStyle="bold"
android:layout_width="100dp"
android:gravity="right"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
<android.support.v7.widget.RecyclerView <----- HERE IT IS
android:id="@+id/itemsRv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/btn_01_agregar_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginTop="20dp"
android:background="@drawable/border_spinner"
android:gravity="left|center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="Ingrese el código o descrpción del producto"
android:textAllCaps="false"
android:textColor="#616161" />
</LinearLayout>
</android.support.v7.widget.CardView>
私は成功せずwrap_content
とmatch_parent
にandroid:layout_height
を変更しようとしました。
ありがとうございました!