RecyclerView.ViewHolderってsuperでrootのView入れないと落ちるのね。
よく見てなかったから30分くらい迷ったわ。。。

例えば
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    
    <TextView
        android:id="@android:id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    
</FrameLayout>

んで
RecyclerView.AdapterとRecyclerView.ViewHolderはこんなの(一部抜粋)

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view =  LayoutInflater.from(parent.getContext()).inflate(R.layout.row, parent, false);     
        return new ViewHolder((TextView)view.findViewById(android.R.id.text1));
}

public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;

        public ViewHolder(TextView v) {
            super(v);
            mTextView = v;
        }
}

これだと
IllegalStateException
The specified child already has a parent
とかで落ちる。

やるなら
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
     View view =  LayoutInflater.from(parent.getContext()).inflate(R.layout.row, parent, false);     
        return new ViewHolder(v,(TextView)view.findViewById(android.R.id.text1));
}
public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;

        public ViewHolder(View v,TextView tv) {
            super(v);
            mTextView = tv;
        }
}

こうすんのね。
stackOverあたりで軽く調べたらinflateでattachToRootはfalseにしろよな話はすぐでてきたんだけどね。

たぶんドキュメントを見れば書いてあるんだろうけど。。。
とりあえず新しいものだったのでエラーってみました(・ω・)


初触りな感想は、Adapterはぶっちゃけ前にエントリもしたBindableAdapterと同じ使い方だけどgetContext()とかないんだねとか。あと表示する数とかはAdapterのgetItemCountで指定するのねとか。あとなにしてるかは詳しくわからんけどリサイクル部分はViewHolderなとこで前と同じなのねとか。

なんか
表示する数の指定方といいiOSと同じような作りに近いのかな。

んま~RecyclerView.ItemDecorationとかいうのもあるし
そもそもの用途がリスト用ってわけじゃないのかなとも思ったりもしますが、個人的には普通のListViewで慣れてるとお作法覚えるまでめんどいなこれとも思いました。

でも慣れればいいんじゃない?明示的にViewHolder使わなきゃいけんので何もしらなくてもリサイクルできるし
といったところ。

まぁ使えるものは使いましょうってことで。