1d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque/*
2d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Copyright (C) 2015 The Android Open Source Project
3d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
4d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Licensed under the Apache License, Version 2.0 (the "License");
5d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * you may not use this file except in compliance with the License.
6d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * You may obtain a copy of the License at
7d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
8d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *      http://www.apache.org/licenses/LICENSE-2.0
9d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque *
10d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * Unless required by applicable law or agreed to in writing, software
11d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * distributed under the License is distributed on an "AS IS" BASIS,
12d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * See the License for the specific language governing permissions and
14d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque * limitations under the License.
15d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque */
16d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haquepackage com.android.test.uibench.recyclerview;
17d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
18d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.support.v7.widget.RecyclerView;
19d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.view.LayoutInflater;
20d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.view.View;
21d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.view.ViewGroup;
22d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haqueimport android.widget.TextView;
23d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
24d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haquepublic class RvArrayAdapter extends RecyclerView.Adapter<RvArrayAdapter.ViewHolder> {
25d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private String[] mDataSet;
26d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    private LayoutInflater mLayoutInflater;
27d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
28d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public static class ViewHolder extends RecyclerView.ViewHolder {
29d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        private final TextView mTextView;
30d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
31d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        public ViewHolder(View v) {
32d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            super(v);
33d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            mTextView = (TextView) v.findViewById(android.R.id.text1);
34d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        }
35d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
36d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        public TextView getTextView() {
37d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            return mTextView;
38d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        }
39d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
40d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
41d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public RvArrayAdapter(String[] dataSet) {
42d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        mDataSet = dataSet;
43d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
44d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
45d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    @Override
46d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
47d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        if (mLayoutInflater == null) {
48d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque            mLayoutInflater = LayoutInflater.from(viewGroup.getContext());
49d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        }
50d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        View v = mLayoutInflater.inflate(android.R.layout.simple_list_item_1, viewGroup, false);
51d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
52d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        return new ViewHolder(v);
53d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
54d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
55d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    @Override
56d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public void onBindViewHolder(ViewHolder viewHolder, final int position) {
57d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        viewHolder.getTextView().setText(mDataSet[position]);
58d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
59d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque
60d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    @Override
61d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    public int getItemCount() {
62d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque        return mDataSet.length;
63d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque    }
64d68e8cb51bc41bdc7567ddcee92fb80d9b47204eMd Haque}
65