You are on page 1of 5

<style name="circular">

<item name="cornerSize">50%</item>
</style>
---------------------------------------------------------------------------------
main
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"
android:id="@+id/recyclerview"
tools:context=".MainActivity">

--------------------------------------------------------------------------------
design

<?xml version="1.0" encoding="utf-8"?>


<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardCornerRadius="5dp"
android:elevation="4dp"
app:cardUseCompatPadding="true"> <!-- so elevation mhnje aplya cardview cha
khali ek shadow yete -->
<!-- and card corner radius ne corner la round shape yeto -->

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- so relative layout ghetlyavarach ti torightof toleftof property ahe na
ti vapru shakto and jrr
linear layout jrr ghetla trr apnala nested linear layout ek ghyava lagto so
imageview sathi to vegla
asnaar and bajucha texts sathi to atla nested linear layout asnar-->

<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/imageview"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/ic_launcher_background"
app:shapeAppearanceOverlay="@style/circular" />

<TextView
android:id="@+id/textview1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/imageview"
android:text="vinayak lokhnade"
android:textColor="@color/black"
android:textSize="25sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textview2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/imageview"
android:layout_below="@id/textview1"
android:text="vinayak lokhnade"
android:textSize="15sp"/>
</RelativeLayout>

</androidx.cardview.widget.CardView>
----------------------------------------------------------------------------

maincode
RecyclerView recyclerView;
AdapterClass adapterClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

recyclerView = findViewById(R.id.recyclerview);
ArrayList<DataHolderClass> list = new ArrayList<>();
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"Prasad
solankar","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"sameer
hankare","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"hardik
padya","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"virat
kohli","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"rohit
sharma","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"pruthvi
shaw","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"narendra
modi","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vladimer
putin","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
list.add(new DataHolderClass(R.drawable.ic_launcher_background,"vinayak
lokhande","hi kute ahes"));
adapterClass = new AdapterClass(list,this);
recyclerView.setAdapter(adapterClass);
LinearLayoutManager layoutManager = new
LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(layoutManager);

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mainmenu,menu);
MenuItem item = menu.findItem(R.id.search_menu);
SearchView searchView = (SearchView)item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}

@Override
public boolean onQueryTextChange(String newText) {
adapterClass.getFilter().filter(newText);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
----------------------------------------------------------------------------

adaptercode
public class AdapterClass extends RecyclerView.Adapter<AdapterClass.viewHolder>
implements Filterable {
ArrayList<DataHolderClass> arrayList;
ArrayList<DataHolderClass> backup;
Context context;

public AdapterClass(ArrayList<DataHolderClass> arrayList, Context context) {


this.arrayList = arrayList;
this.backup = arrayList;
this.context = context;
}

@NonNull
@Override
public viewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View view = layoutInflater.inflate(R.layout.designing_layout,parent,false);
return new viewHolder(view);
}

public void onBindViewHolder(@NonNull viewHolder holder, int position) {


DataHolderClass dataHolderClass = arrayList.get(position);
holder.imageView.setImageResource(dataHolderClass.getImage());
holder.textView1.setText(dataHolderClass.getText1());
holder.textView2.setText(dataHolderClass.getText2());

holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(context,MainActivity2.class);
intent1.putExtra("ImageName",dataHolderClass.getImage());
intent1.putExtra("text1name",dataHolderClass.getText1());
intent1.putExtra("text2description",dataHolderClass.getText2());
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
});
}

@Override
public int getItemCount() {
return arrayList.size();
}

@Override
public Filter getFilter() {
return filter;
}

Filter filter = new Filter() {


@Override
protected FilterResults performFiltering(CharSequence keyword) {
ArrayList<DataHolderClass> filteredData = new ArrayList<>();
if(keyword.toString().isEmpty()){
filteredData.addAll(backup);
}else{
for(DataHolderClass obj : backup){

if(obj.getText1().toString().toLowerCase().contains(keyword.toString().toLowerCase(
))){
filteredData.add(obj);
}
}
}
FilterResults results = new FilterResults();
results.values = filteredData;
return results;
}

@Override
protected void publishResults(CharSequence constraint, FilterResults
results) {
arrayList.clear();
arrayList.addAll((ArrayList<DataHolderClass>)results.values);
notifyDataSetChanged();
}
};

class viewHolder extends RecyclerView.ViewHolder {


ImageView imageView;
TextView textView1;
TextView textView2;

public viewHolder(@NonNull View itemView) {


super(itemView);
imageView = itemView.findViewById(R.id.imageview);
textView1 = itemView.findViewById(R.id.textview1);
textView2 = itemView.findViewById(R.id.textview2);
}
}
}

-----------------------------------------------------------------------
datacode
public class DataHolderClass {
int image;
String text1;
String text2;

public DataHolderClass(int image, String text1, String text2) {


this.image = image;
this.text1 = text1;
this.text2 = text2;
}

public int getImage() {


return image;
}

public String getText1() {


return text1;
}

public String getText2() {


return text2;
}
}

--------------------------------------------------------------------------

main2code

public class MainActivity2 extends AppCompatActivity {


private ImageView imageView;
private TextView textView1;
private TextView textView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);

imageView = findViewById(R.id.imageview);
textView1 = findViewById(R.id.textView1);
textView2 = findViewById(R.id.textview2);

imageView.setImageResource(getIntent().getIntExtra("ImageName",0));
textView1.setText(getIntent().getStringExtra("text1name"));
textView2.setText(getIntent().getStringExtra("text2description"));

You might also like