State java package com example test 5


Download 106.64 Kb.
Sana18.06.2023
Hajmi106.64 Kb.
#1568347
Bog'liq
7. RecyclerView


******State.java


package com.example.test_5;
public class State {
private String name;
private String capital;
private int flagResource;
public State(String name, String capital, int flag){
this.name=name;
this.capital=capital;
this.flagResource=flag;
}
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
public String getCapital() { return this.capital; }
public void setCapital(String capital) { this.capital = capital; }
public int getFlagResource() { return this.flagResource; }
public void setFlagResource(int flagResource) { this.flagResource = flagResource; }
}

****** res\layout\item_view.xml


xml version="1.0" encoding="utf-8"?>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:orientation="vertical">
android:id="@+id/flag"
android:layout_marginRight="16dp"
android:layout_marginEnd="16dp"
android:layout_width="70dp"
android:layout_height="50dp" />
android:gravity="center"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title" />
android:id="@+id/capital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Short title" />


******StateAdapter.java


package com.example.test_5;

import android.content.Context;


import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;

public class StateAdapter extends RecyclerView.Adapter{


private final LayoutInflater inflater;
private final List states;

StateAdapter(Context context, List states) {


this.states = states;
this.inflater = LayoutInflater.from(context);
}
@Override
public StateAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.item_view, parent, false);
return new ViewHolder(view);
}

@Override


public void onBindViewHolder(StateAdapter.ViewHolder holder, int position) {
State state = states.get(position);
holder.flagView.setImageResource(state.getFlagResource());
holder.nameView.setText(state.getName());
holder.capitalView.setText(state.getCapital());
}
@Override
public int getItemCount() {
return states.size();
}

public static class ViewHolder extends RecyclerView.ViewHolder {


final ImageView flagView;
final TextView nameView, capitalView;

ViewHolder(View view){


super(view);
flagView = (ImageView)view.findViewById(R.id.flag);
nameView = (TextView) view.findViewById(R.id.name);
capitalView = (TextView) view.findViewById(R.id.capital);
}
}
}

******res\layout\activity_main.xml


xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
android:id="@+id/list"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

******MainActivity.java


package com.example.test_5;

import androidx.appcompat.app.AppCompatActivity;


import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


ArrayList states = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
states.add(new State ("Бразилия", " Бр", R.drawable.ic_baseline_brazilia_24));
states.add(new State ("Аргентина", "Арг", R.drawable.ic_baseline_argentina_24));
states.add(new State ("Колумбия", "Кол", R.drawable.ic_baseline_columbia_24));
states.add(new State ("Уругвай", "Уру", R.drawable.ic_baseline_uruguai_24));
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list);
recyclerView.setLayoutManager(new GridLayoutManager(this, 4));
StateAdapter adapter = new StateAdapter(this, states);
recyclerView.setAdapter(adapter);
}
}

******drawable\{rasmlar}



Download 106.64 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling