activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rec"/>
</LinearLayout>
MainActivity.Java
package com.androinidan.recy;
import android.os.Bundle;
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.androinidan.recy.databinding.ActivityMainBinding;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
public class MainActivity extends AppCompatActivity {
String Course[]={"Android","2","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP",
"Android","Java","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP","Android","Java","PHP",
"Android","Java","PHP","Android","Java","PHP","Android","Java","PHP"};
RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView)findViewById(R.id.rec);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); // set Horizontal Orientation
recyclerView.setLayoutManager(linearLayoutManager);
CustomAdapter customAdapter = new CustomAdapter(MainActivity.this, Course);
recyclerView.setAdapter(customAdapter);
}
}
CustomAdapter.Java
package com.androinidan.recy;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.MyViewHolder>{
String Names[] ;
Context context;
public CustomAdapter(MainActivity mainActivity, String[] course) {
this.context = mainActivity;
this.Names = course;
}
@NonNull
@Override
public CustomAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.rowlayout, parent, false);
MyViewHolder vh = new MyViewHolder(v); // pass the view to View Holder
return vh;
}
@Override
public void onBindViewHolder(@NonNull CustomAdapter.MyViewHolder holder, int position) {
holder.name.setText(Names[holder.getAdapterPosition()]);
holder.name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context, Names[holder.getAdapterPosition()], Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return Names.length;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView name;// init the item view's
public MyViewHolder(View itemView) {
super(itemView);
// get the reference of item view's
name = (TextView) itemView.findViewById(R.id.name);
}
}
}
rowlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff">
<!--
items for a single row of RecyclerView
-->
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="#FF5722"
android:textSize="20sp" />
</LinearLayout>