1 package com.example.android.support.wear.app;
2 
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.ViewGroup;
6 import android.widget.TextView;
7 
8 import androidx.recyclerview.widget.LinearLayoutManager;
9 import androidx.recyclerview.widget.RecyclerView;
10 
11 import com.example.android.support.wear.R;
12 
13 import org.jspecify.annotations.NonNull;
14 import org.jspecify.annotations.Nullable;
15 
16 /**
17  * Main activity for the RecyclerView demo.
18  */
19 public class SimpleRecyclerViewDemo extends Activity {
20     @Override
onCreate(@ullable Bundle savedInstanceState)21     protected void onCreate(@Nullable Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.rv_demo);
24         RecyclerView rv = findViewById(R.id.rv_container);
25 
26         rv.setLayoutManager(new LinearLayoutManager(this));
27         rv.setAdapter(new SimpleRecyclerViewDemo.DemoAdapter());
28     }
29 
30     private static class ViewHolder extends RecyclerView.ViewHolder {
31         TextView mView;
ViewHolder(TextView itemView)32         ViewHolder(TextView itemView) {
33             super(itemView);
34             mView = itemView;
35         }
36     }
37 
38     private static class DemoAdapter extends RecyclerView.Adapter<ViewHolder> {
39         private static final int ITEM_COUNT = 100;
40         private static final int ELEMENT_HEIGHT_DP = 50;
41         private static final int ELEMENT_TEXT_SIZE = 14;
42 
43         @Override
onCreateViewHolder(ViewGroup parent, int viewType)44         public @NonNull ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
45             TextView view = new TextView(parent.getContext());
46             view.setHeight(ELEMENT_HEIGHT_DP);
47             view.setTextSize(ELEMENT_TEXT_SIZE);
48             return new ViewHolder(view);
49         }
50 
51         @Override
onBindViewHolder(ViewHolder holder, int position)52         public void onBindViewHolder(ViewHolder holder, int position) {
53             holder.mView.setText("Holder at position " + position);
54             holder.mView.setTag(position);
55         }
56 
57         @Override
getItemCount()58         public int getItemCount() {
59             return ITEM_COUNT;
60         }
61     }
62 }