Android RecyclerView like iOS UITableView
ANDROID
RecyclerView
https://developer.android.com/reference/android/support/v7/widget/RecyclerView.htmlJava
1 - Create project Android Studio 'SimpleRecyclerView'
2 - Setup Gradle
2 - Setup Gradle
- build.gradle ( Module : app )
compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1'
3 - Add Recyclerview to xml
- activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="androidlikeios.com.simplerecyclerview.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>
4 - Create Adapter
- SimpleRecyclerViewAdapter.java
public class SimpleRecyclerViewAdapter extends RecyclerView.Adapter<SimpleRecyclerViewAdapter.ViewHolder>{ String[] simplesValues; Context context; View view; ViewHolder viewHolder; public SimpleRecyclerViewAdapter(Context context1, String[] values){ simplesValues = values; context = context1; } public static class ViewHolder extends RecyclerView.ViewHolder{ public TextView textView; public ViewHolder(View v){ super(v); textView = (TextView)v.findViewById(R.id.text_view_title); } } @Override public SimpleRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){ view = LayoutInflater.from(context).inflate(R.layout.simple_recyclerview_item,parent,false); viewHolder = new ViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(ViewHolder holder, int position){ holder.textView.setText(simplesValues[position]); } @Override public int getItemCount(){ return simplesValues.length; } }
- simple_recyclerview_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp"> <TextView android:id="@+id/text_view_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="24sp"/> </LinearLayout>
5 - Initialize Recyclerview
- MainActivity.java
public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; private RecyclerView.Adapter recyclerViewAdapter; private RecyclerView.LayoutManager recylerViewLayoutManager; private String[] subjects; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); subjects = new String[] {"Nougat", "Marshmallow", "Lollipop", "KitKat", "Jelly Bean", "Ice Cream Sandwich", "Gingerbread", "Cupcake", "dunut", "eclair", "Froyo", "Gingerbread", "Honeycomb"}; recyclerView = (RecyclerView) findViewById(R.id.recyclerview); recylerViewLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(recylerViewLayoutManager); recyclerViewAdapter = new SimpleRecyclerViewAdapter(MainActivity.this, subjects); recyclerView.setAdapter(recyclerViewAdapter); } }
List |
---|
full source code Android
--
IOS
UITableView
Objective c
1 - Create project Xcode 'SimpleTableView'
2 - Add TableView
- Main.storyboard
3 - Add Delegate and DataSource
- ViewController.h
@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> @end
4 - Initializa array
- ViewController.m
//create var NSArray *tableData; - (void)viewDidLoad { [super viewDidLoad]; // Initialize table data tableData = [NSArray arrayWithObjects:@"Cheetah", @"Puma", @"Jaguar", @"Panther", @"Tiger", @"Leopard", @"Snow Leopard", @"Lion", @"Mountain Lion", @"Mavericks", @"Yosemite", @"El Capitan", @"Sierra", nil]; }
5 - Implement protocol and configure simple cell
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [tableData count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *tableIdentifier = @"TableIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:tableIdentifier]; } cell.textLabel.text = [tableData objectAtIndex:indexPath.row]; return cell; }
6 - Connecting the DataSource and Delegate
- Main.storyboard
7 - Build simulator
Comentários
Postar um comentário