使用水平滚动将JSON设置为Recyclerview

时间:2017-03-18 07:35:38

标签: android android-layout android-recyclerview

我正在尝试将我的json设置为我的Recyclerview,在那里我可以查看Recycler视图,但json只显示在一行中。怎么解决这个问题?

这是我的代码:

recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(PenawaranDetail.this, LinearLayoutManager.HORIZONTAL, true));
        recyclerView.setHasFixedSize(true);

这是我的适配器代码:

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

import android.widget.ScrollView;
import android.widget.TextView;

/**
 * Created by Programx4 on 1/21/2017.
 */

public class AdapterBarangPenawaran extends RecyclerView.Adapter <AdapterBarangPenawaran.ViewHolder> {
    private Context context;
    private List<DataBarangPenawaran> data;

    public AdapterBarangPenawaran(Context context, List<DataBarangPenawaran>data){
        this.context = context;
        this.data = data;
    }
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
        View Itemview = LayoutInflater.from(parent.getContext()).inflate(R.layout.daftarbarangpenawaran, parent, false);
        return new ViewHolder(Itemview);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
       holder.tvnama.setText(data.get(position).getBarang());
        holder.tvjumlah.setText(String.valueOf(data.get(position).getJumlah()));
        holder.tvsup1.setText(String.valueOf(data.get(position).getHarga1()));
        holder.tvsup2.setText(String.valueOf(data.get(position).getHarga2()));
        holder.tvsup3.setText(String.valueOf(data.get(position).getHarga3()));


    }

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

    public class ViewHolder extends RecyclerView.ViewHolder{
        public TextView tvnama, tvjumlah, tvsup1, tvsup2, tvsup3, tvtotal;

        public ViewHolder(View Itemview){
            super(Itemview);
           tvjumlah = (TextView)Itemview.findViewById(R.id.jumlah);
            tvnama = (TextView)Itemview.findViewById(R.id.namabar);
            tvsup1 = (TextView)Itemview.findViewById(R.id.sup1);
            tvsup2 = (TextView)Itemview.findViewById(R.id.sup2);
            tvsup3 = (TextView)Itemview.findViewById(R.id.sup3);
            tvtotal = (TextView)Itemview.findViewById(R.id.total);


        }

    }

}

这是我的xml布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="#383735"
    android:baselineAligned="false">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical" android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp">
            <TextView
                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:id="@+id/koded"
                android:textColor="#ffffff"
                android:text="Kode: "
                />
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/koded"
                android:textColor="#ffffff"
                android:id="@+id/isikoded"/>
            <TextView

                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:layout_below="@id/isikoded"
                android:id="@+id/tglaju"
                android:textColor="#ffffff"
                android:text="Tgl Input: "
                android:layout_marginTop="10dp"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/tglaju"
                android:layout_below="@+id/isikoded"
                android:id="@+id/isitglaju"
                android:textColor="#ffffff"
                android:layout_marginTop="10dp"/>
            <TextView

                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:layout_below="@id/isitglaju"
                android:id="@+id/jpegawai"
                android:textColor="#ffffff"
                android:text="Pegawai: "
                android:layout_marginTop="10dp"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/jpegawai"
                android:layout_below="@+id/isitglaju"
                android:id="@+id/isipegawai"
                android:textColor="#ffffff"
                android:layout_marginTop="10dp"/>
            <TextView
                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:layout_below="@id/isipegawai"
                android:id="@+id/jdivisi"
                android:textColor="#ffffff"
                android:text="Divisi: "
                android:layout_marginTop="10dp"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/jdivisi"
                android:layout_below="@+id/isipegawai"
                android:id="@+id/isidivisi"
                android:textColor="#ffffff"
                android:layout_marginTop="10dp"/>

            <TextView
                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:layout_below="@id/isidivisi"
                android:id="@+id/tglbth"
                android:textColor="#ffffff"
                android:text="Tgl Penawaran: "
                android:layout_marginTop="10dp"
                />
            <TextView android:layout_marginTop="10dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/tglbth"
                android:layout_below="@+id/isidivisi"
                android:id="@+id/isitglbutuh"
                android:textColor="#ffffff"/>

            <TextView
                android:layout_width="130dp"
                android:layout_height="wrap_content"
                android:textColor="#ffffff"
                android:id="@+id/supd"
                android:layout_marginTop="10dp"
                android:text="No Penawaran: "
                android:layout_below="@+id/tglbth"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/isitglbutuh"
                android:layout_toRightOf="@id/supd"
                android:id="@+id/isinomor"
                android:textColor="#ffffff"
                android:layout_marginTop="10dp"/>




            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/isinomor"
                android:id="@+id/tablejdl"
                android:weightSum="7"
                android:layout_marginTop="20dp"
                >
                <TableRow
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:weightSum="7"
                    android:gravity="center_horizontal">

                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Barang"
                        android:layout_weight="2"
                        android:id="@+id/kodebar"
                        />
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Jumlah"
                        android:layout_weight="1"
                        android:id="@+id/jumlah"
                        />
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Sup1"
                        android:layout_weight="1"
                        android:id="@+id/namabar"/>
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Sup2"
                        android:layout_weight="1"
                        android:id="@+id/jumlahbar"/>

                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Sup3"
                        android:layout_weight="1"
                        android:id="@+id/stokbar"/>
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Total"
                        android:layout_weight="1"
                        android:id="@+id/jtotal"/>
                </TableRow>
            </TableLayout>
            <ScrollView
                android:id="@+id/aaaa"
                android:layout_width="match_parent"
                android:layout_below="@id/tablejdl"
                android:layout_height="wrap_content">
            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/recyclerpenawaran">
            </android.support.v7.widget.RecyclerView>
            </ScrollView>
            <TableLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/aaaa"
                android:id="@+id/tablejdl2"
                android:weightSum="7"
                android:layout_marginTop="15dp"
                >
                <TableRow
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:weightSum="7"
                    android:gravity="center_horizontal">

                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:layout_weight="2"
                        />
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"

                        />
                    <CheckBox
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:id="@+id/checksup1"/>
                    <CheckBox
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:id="@+id/checksup2"/>

                    <CheckBox
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"

                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"

                        android:layout_weight="1"
                        android:id="@+id/checksup3"/>
                    <TextView
                        android:textColor="#ffffff"
                        android:layout_marginTop="10dp"
                        android:layout_width="0dp"
                        android:textSize="11sp"
                        android:layout_height="wrap_content"
                        android:text="Total"
                        android:layout_weight="1"
                        android:id="@+id/total"/>
                </TableRow>
            </TableLayout>
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tablejdl2"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginBottom="20dp"
                >
                <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Tolak"
                    android:id="@+id/tolak"
                    android:background="@drawable/buttonback2"
                    android:layout_alignParentRight="true"


                    />
                <Button
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Approve"
                    android:layout_alignParentLeft="true"
                    android:id="@+id/btnapprove"
                    android:background="@drawable/buttonback"
                    />
            </RelativeLayout>
        </RelativeLayout>
    </ScrollView>
</LinearLayout>

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我认为问题是订单......

recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(PenawaranDetail.this,LinearLayoutManager.HORIZONTAL, true));
recyclerView.setAdapter(adapter);

答案 1 :(得分:0)

首先,在设置适配器之前设置布局管理器

recyclerView.setLayoutManager(new LinearLayoutManager(PenawaranDetail.this, LinearLayoutManager.HORIZONTAL, true));
recyclerView.setAdapter(adapter);

其次,更改项目布局根参数,高度应为wrap_content

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
....
</LinearLayout>