Android 仅显示一个项目的RecyclerView

Android 仅显示一个项目的RecyclerView,android,android-recyclerview,Android,Android Recyclerview,我正在使用RecyclerView,但是当在RecyclerView中查看项目时,只会显示列表中的第一个项目 这是RecyclerView适配器 package com.example.abdelmagied.myapplication; 导入android.content.Context; 导入android.support.v7.widget.RecyclerView; 导入android.view.LayoutInflater; 导入android.view.view; 导入android

我正在使用RecyclerView,但是当在RecyclerView中查看项目时,只会显示列表中的第一个项目 这是RecyclerView适配器

package com.example.abdelmagied.myapplication;
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入org.w3c.dom.Text;
导入java.util.ArrayList;
/**
*由Abdelmaged于2017年7月19日创建。
*/
公共类RecyclerAdapter扩展了RecyclerView.Adapter{
私有ArrayList myitems;
公共场所;充气机;
公共回收器适配器(上下文,ArrayList myitems){
this.myitems=myitems;
this.inflater=layoutiner.from(上下文);
}
@凌驾
public RecyclerAdapter.MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图v=充气机。充气(R.layout.recyclerviewrow,父级,false);
返回新的MyViewHolder(v);
}
@凌驾
BindViewHolder上的公共无效(RecyclerAdapter.MyViewHolder,int位置){
holder.name.setText(myitems.get(position.name));
holder.price.setText(myitems.get(position.price));
}
@凌驾
public int getItemCount(){
返回myitems.size();
}
公共静态类MyViewHolder扩展了RecyclerView.ViewHolder{
文本视图名称;
文本视图价格;
公共MyViewHolder(查看项目视图){
超级(项目视图);
name=(TextView)itemView.findViewById(R.id.RecycleServiceEWName);
price=(TextView)itemView.findViewById(R.id.RecycleServiceWPrice);
}
}
}
这是名为recyclerviewrow.xml的布局

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewname" />

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewprice" />
</LinearLayout>
 package com.example.abdelmagied.myapplication;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    import android.widget.Toast;

    import java.util.ArrayList;

    public class Main3Activity extends AppCompatActivity {
       public RecyclerView mRecyclerView;
        public RecyclerView.LayoutManager mymanager;
        public RecyclerView.Adapter recyclerViewAdapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            Bundle bundle =  getIntent().getExtras();
            ArrayList<items> myitems = bundle.getParcelableArrayList("myarray");
            ArrayList<items> go = new ArrayList<items>();
             go.add(new items("mobile" , " blablabl" , "655"));
            go.add(new items("labtop" , " blablabl" , "655"));
            go.add(new items("sony" , "blablbl" , "655"));
            go.add(new items("mobile" , " blablabla" , "655"));
            go.add(new items("mobile" , "blablabla" , "655"));
            mRecyclerView = (RecyclerView) findViewById(R.id.RecyclerId);
            mymanager = new LinearLayoutManager(this);
            mRecyclerView.setHasFixedSize(true);
            mRecyclerView.setLayoutManager(mymanager);
            recyclerViewAdapter = new RecyclerAdapter(this , go);
            mRecyclerView.setAdapter(recyclerViewAdapter);

        }
    }

这里是Main3Activity.xml

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewname" />

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewprice" />
</LinearLayout>
 package com.example.abdelmagied.myapplication;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    import android.widget.Toast;

    import java.util.ArrayList;

    public class Main3Activity extends AppCompatActivity {
       public RecyclerView mRecyclerView;
        public RecyclerView.LayoutManager mymanager;
        public RecyclerView.Adapter recyclerViewAdapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main3);
            Bundle bundle =  getIntent().getExtras();
            ArrayList<items> myitems = bundle.getParcelableArrayList("myarray");
            ArrayList<items> go = new ArrayList<items>();
             go.add(new items("mobile" , " blablabl" , "655"));
            go.add(new items("labtop" , " blablabl" , "655"));
            go.add(new items("sony" , "blablbl" , "655"));
            go.add(new items("mobile" , " blablabla" , "655"));
            go.add(new items("mobile" , "blablabla" , "655"));
            mRecyclerView = (RecyclerView) findViewById(R.id.RecyclerId);
            mymanager = new LinearLayoutManager(this);
            mRecyclerView.setHasFixedSize(true);
            mRecyclerView.setLayoutManager(mymanager);
            recyclerViewAdapter = new RecyclerAdapter(this , go);
            mRecyclerView.setAdapter(recyclerViewAdapter);

        }
    }
package com.example.abdelmagied.myapplication;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.widget.Toast;
导入java.util.ArrayList;
公共类Main3活动扩展了AppCompative活动{
公共回收视图MRECYCLERVIW;
public RecyclerView.LayoutManager mymanager;
公共RecycleView.适配器RecycleWebAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
Bundle Bundle=getIntent().getExtras();
ArrayList myitems=bundle.getParcelableArrayList(“myarray”);
ArrayList go=新的ArrayList();
添加(新项目(“移动”、“blabl”、“655”);
添加(新项目(“labtop”、“Blabl”、“655”);
添加(新项目(“索尼”、“blablbl”、“655”);
添加(新项目(“移动”、“blabla”、“655”);
添加(新项目(“移动”、“blabla”、“655”);
mRecyclerView=(RecyclerView)findViewById(R.id.RecyclerId);
mymanager=新的LinearLayoutManager(此);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(mymanager);
RecycleServiceAdapter=新的RecyclerAdapter(这个,go);
mRecyclerView.setAdapter(RecyclerServiceAdapter);
}
}

问题是
匹配父项
,将父项
android:layout\u height
更改为包装内容

现在你也将有项目,但它将在底部,如果你滚动,你可以看到第二个项目

所以像这样改变,

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="wrap_content">
</LinearLayout>


在您的RecyclerServiceEWRow.xml中,将LinearLayout高度更改为wrap\u content。

您还可以为LinearLayout指定最小宽度,并将宽度设置为
wrap\u content

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewname" />

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerviewprice" />
</LinearLayout>