2016-04-24 13 views
3

RecyclerViewを使用してレコードのリストを表示します。RecyclerViewはAndroidの単一行を表示します

しかし、アプリケーションを実行すると、1つのレコードしか表示されません。

私のコードを検証したところ、すべてうまく見えました。

アダプターコード:

public class AdapterData extends RecyclerView.Adapter<AdapterData.DummyHolder> { 

    private LayoutInflater layoutInflater; 
    private ArrayList<String> mItems = new ArrayList<>(); 
    public Context ThisContext; 

    public AdapterData(Context context) 
    { 
     layoutInflater = LayoutInflater.from(context); 
     mItems = generateValues(); 
     ThisContext = context; 
    } 

    public static ArrayList<String> generateValues(){ 
     ArrayList<String> Dummy = new ArrayList<>(); 
     for(int i=1; i<100; i++) 
     { 
      Dummy.add("Item"+i); 
      Log.d("MTS", String.valueOf(i)); 
     } 
     return Dummy; 
    } 

    @Override 
    public DummyHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view= layoutInflater.inflate(R.layout.row_layout,parent,false); 
     DummyHolder holder=new DummyHolder(view); 
     return holder; 
    } 

    @Override 
    public void onBindViewHolder(DummyHolder holder, int position) { 
     holder.txt_name.setText(mItems.get(position)); 
     Log.d("MAN=",mItems.get(position)); 
    } 

    @Override 
    public int getItemCount() { 
     return 100; 
    } 

    public static class DummyHolder extends RecyclerView.ViewHolder{ 

     TextView txt_name; 

     public DummyHolder(View itemView) { 
      super(itemView); 
      txt_name = (TextView) itemView.findViewById(R.id.tx_name); 
     } 
    } 
} 

行のコード:

<?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" 
    android:orientation="vertical"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/tx_name" 
     android:hint="Hello"/> 

</LinearLayout> 

メインActiivity XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.hogwarts.harrypotter.recyclerdemo.MainActivity"> 

    <android.support.v7.widget.RecyclerView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/rv_list"> 

    </android.support.v7.widget.RecyclerView> 
</RelativeLayout> 

MainActivityコード:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    recyclerView = (RecyclerView) findViewById(R.id.rv_list); 
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); 
    recyclerView.setLayoutManager(linearLayoutManager); 
    recyclerView.setAdapter(new AdapterData(this)); 
} 
+0

ペーストxmlはこちら。 –

+0

私はコード全体を追加しました。どこで間違っていたのかを確認してください。 –

答えて

16

アイテムのレイアウトを見てください。ルートレイアウトはandroid:layout_height = "match_parent"です。 アイテムがフルスクリーンの高さを取ることを意味します。 wrap_contentに変更し、パーティーを許可します。オハイオ州を教えてください

+1

ああ、ありがとう。 –

+0

Genius!これは問題ではないと思っていた – pblead26

+0

おかげで...。私のために働いている – Hasnain

関連する問題