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 }