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