์ด 5๊ฐ์ง์ ์์ ์ด ํ์, ๊ฐ๊ฐ activity_main.xml, ์์ดํ .xml, ๋ฐ์ดํฐ.java, ๋ฆฌ์ฌ์ดํด๋ฌ_์ด๋ํฐ.java, MainActivity.java
[activity_main.xml]
๋ํ์ง ์ญํ ์ ํด์ค activity_main.xml์ RecyclerView๋ฅผ ๋ฃ์
[item.xml]
๋ฆฌ์คํธ์ ๋ค์ด๊ฐ ์์ดํ ๋ค์ ๊พธ๋ฉฐ์ค
[Data.java]
package com.app.listapp;
public class Data {
private String name;
private String phone;
public Data(String name, String phone){
this.name = name;
this.phone = phone;
}
public String getName(){
return this.name;
}
public String getPhone(){
return this.phone;
}
}
์์ดํ ์ ์ ๋ณด๋ฅผ ๋ด๋ ๊ทธ๋ฆ ์ญํ
[RecyclerAdapter.java]
package com.app.listapp;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ItemViewHolder> {
private ArrayList<Data> listData = new ArrayList<Data>();
public RecyclerAdapter(ArrayList<Data> list) { // ์ธ๋ถ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์จ๋ค.
this.listData = list;
}
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
return new ItemViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
holder.onBind(listData.get(position));
}
@Override
public int getItemCount() {
return listData.size();
}
class ItemViewHolder extends RecyclerView.ViewHolder{ // ๋ฆฌ์คํธ ๋ทฐ ์์ดํ
์ ์กฐ์ํ๋ ์ญํ
private TextView textView;
private TextView textView2;
ItemViewHolder(View itemView){
super(itemView);
textView = itemView.findViewById(R.id.textView);
textView2 = itemView.findViewById(R.id.textView2);
// ์์ดํ
๋ทฐ ํด๋ฆญ ๋ฆฌ์คํฐ
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int pos = getAdapterPosition();
Data data = listData.get(pos);
Toast.makeText(view.getContext(), data.getName(), Toast.LENGTH_SHORT).show();
}
});
}
void onBind(Data data){ // ๋ทฐ์ ๊ฐ์ ์ฑ์์ฃผ๋ ์ญํ
textView.setText(data.getName());
textView2 .setText(data.getPhone());
}
}
}
[MainActivity.java]
package com.app.listapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ArrayList<Data> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<Data>();
list.add( new Data("๊น์จ", "010-1111-1111") );
list.add( new Data("์ฅ์จ", "010-2222-2222") );
list.add( new Data("์ค์จ", "010-3333-3333") );
list.add( new Data("๋
ธ์จ", "010-4444-4444") );
RecyclerAdapter recyclerAdapter = new RecyclerAdapter(list);
RecyclerView recyclerView = findViewById(R.id.recycleView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(recyclerAdapter);
}
}
๋ง๋ฌด๋ฆฌ
์ฐธ๊ณ :
[๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ์กฐ์]
https://dev-imaec.tistory.com/27
[RecyclerView] ์๋๋ก์ด๋ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์๋๋ก์ด๋ RecycleView ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ ์๋๋ก์ด๋ ์ฑ์ ๊ฐ๋ฐ ํ๋ค๋ณด๋ฉด ์๋ ์๋ ListView(๋ฆฌ์คํธ๋ทฐ)๋ฅผ ๋ง์ด ์ผ์ง๋ง ์์ฆ์ ๋ฆฌ์คํธ๋ทฐ์ ๊ฑฐ์ ๋ชจ๋ ๊ธฐ๋ฅ์ RecyclerView(๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ)๋ก ํ ์ ์๊ธฐ๋๋ฌธ
dev-imaec.tistory.com
https://bbaktaeho-95.tistory.com/73
[Android] RecyclerView (๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ, ๋ทฐํ๋, ViewHolder)
RecyclerView ๋ชฉ๋ก์ ํ๋ฉด์ ์ถ๋ ฅํด์ฃผ๊ณ ๋์ ์ผ๋ก ํํํด์ฃผ๋ ์ปจํ ์ด๋์ ๋๋ค. ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ๋ ๊ฐ๋จํ ์ฝ๋๋ง์ผ๋ก ListView, GridView๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค. ๊ฐ์ฅ ๋ณต์กํ ์ปจํ ์ด๋์ง๋ง ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋
bbaktaeho-95.tistory.com
[์จํด๋ฆญ ์ด๋ฒคํธ ๋ฆฌ์ค๋]
https://recipes4dev.tistory.com/168
๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ์์ดํ ํด๋ฆญ ์ด๋ฒคํธ ์ฒ๋ฆฌ. (RecyclerView Item Click Event)
1. ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ(RecyclerView) ์์ดํ ํด๋ฆญ. ์ง๋ ๊ธ [์๋๋ก์ด๋ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ. (Android RecyclerView)]์ [์๋๋ก์ด๋ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ์ฌ์ฉ ์์ . (Android RecyclerView Example)]์์ ๋ฆฌ์ฌ์ดํด๋ฌ..
recipes4dev.tistory.com
https://stackoverflow.com/questions/41494464/toast-inside-onclick-recyclerview
Toast inside onclick recyclerview
I'm making an app in which an activity shows a recyclerview. I'm trying to get a toast when the item in the list is clicked. I've seen the various solutions on StackOverflow and they don't help.
stackoverflow.com