0% found this document useful (0 votes)
3 views

Android Dev

The document outlines the structure and code for an Android application featuring a RecyclerView to display a list of items. It includes XML layout files for the main activity and individual item views, as well as Java classes for the main activity, item model, and item adapter. The application initializes a list of items with titles and descriptions, which are displayed in a card format within the RecyclerView.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Android Dev

The document outlines the structure and code for an Android application featuring a RecyclerView to display a list of items. It includes XML layout files for the main activity and individual item views, as well as Java classes for the main activity, item model, and item adapter. The application initializes a list of items with titles and descriptions, which are displayed in a card format within the RecyclerView.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Practical-15

 Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:id="@+id/recyclerView"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

 Item_layout.xml
<?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"
android:layout_margin="8dp"
android:background="?android:attr/selectableItemBackground"
android:elevation="4dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">

<TextView
android:id="@+id/textViewTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Item Title"
android:textSize="18sp"
android:textColor="@android:color/black" />

<TextView
android:id="@+id/textViewDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Item Description"
android:textSize="14sp"
android:textColor="@android:color/darker_gray" />

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

 MainActivity.java
package com.example.pr16;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.example.prac15.R;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private RecyclerView recyclerView;


private ItemAdapter itemAdapter;
private List<Item> itemList;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize RecyclerView
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

// Initialize itemList and populate with data


itemList = new ArrayList<>();
itemList.add(new Item("Title 1", "Description for item 1"));
itemList.add(new Item("Title 2", "Description for item 2"));
itemList.add(new Item("Title 3", "Description for item 3"));
itemList.add(new Item("Title 4", "Description for item 4"));
itemList.add(new Item("Title 5", "Description for item 5"));

// Set the adapter


itemAdapter = new ItemAdapter(itemList);
recyclerView.setAdapter(itemAdapter);
}
}

 Item.java
package com.example.pr16;

public class Item {


private String title;
private String description;

public Item(String title, String description) {


this.title = title;
this.description = description;
}

public String getTitle() {


return title;
}

public String getDescription() {


return description;
}
}

 itemAdapter.java
package com.example.pr16;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ItemViewHolder> {

private List<Item> itemList;

// Constructor
public ItemAdapter(List<Item> itemList) {
this.itemList = itemList;
}

@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
// Inflate the item_layout for each item
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new ItemViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
// Bind the data to the views
Item currentItem = itemList.get(position);
holder.textViewTitle.setText(currentItem.getTitle());
holder.textViewDescription.setText(currentItem.getDescription());
}

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

// ViewHolder class to hold the views for each item


public static class ItemViewHolder extends RecyclerView.ViewHolder {
public TextView textViewTitle;
public TextView textViewDescription;

public ItemViewHolder(@NonNull View itemView) {


super(itemView);
textViewTitle = itemView.findViewById(R.id.textViewTitle);
textViewDescription = itemView.findViewById(R.id.textViewDescription);
}
}
}

 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Pr16"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
</application>

</manifest>

You might also like