Toast.makeText(context, String, int).show();
์ฒซ๋ฒ์งธ context๊ฐ ์ ๋๋ก ๋จน์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ค๋ฅธ Activity ํด๋์ค์์ getApplicationContext()๋ this ๋ฑ์ด ๋จน๋๋ฐ ์ด์ํ๊ฒ ViewHolder ํด๋์ค์์ ๋์ง ์๋๋ผ. ์ด ํด๋์ค๋ Activity ํด๋์ค ํ์์ ์์นํ๋๋ฐ.
ํด๊ฒฐ ๋ฐฉ๋ฒ ๋๊ฐ์ง๋ฅผ ์ค๋ช ํ๊ฒ ๋ค.
1)
์ด ํ ์คํธ๊ฐ ์ฌ์ฉ๋๋ ์ค์ ์ ํํ ViewHolder ์์ setOnClickListener ๋ฉ์๋์ ์์นํ๋ค.
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView title, date;
public ViewHolder(@NonNull final View itemView){
super(itemView);
title = itemView.findViewById(R.id.listtitle);
date = itemView.findViewById(R.id.listdate);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int pos = getAdapterPosition();
if(pos != RecyclerView.NO_POSITION){
Toast.makeText(view.getContext(), "pos", Toast.LENGTH_SHORT).show();
}
}
});
}
}โ
์ด ๋ฉ์๋๋ ๋งค๊ฐ๋ณ์๋ก view๋ฅผ ๊ฐ๋๋ค. ๋๋ฌธ์ ๋ค๋ฅธ ์กํฐ๋นํฐ์์์ ์ฌ์ฉํด์ผํ๋ Toast์ context๊ฐ์ฒด๊ฐ ๋ค๋ฅธ๊ฒ์ด๋ค. view ์ธ์๋ก๋ถํฐ context๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค.
view.getContext() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ์๋ํ๋ค.
2)
Toast๊ฐ ๋์์ง xml์ ์ฐ๊ฒฐ๋ Activity์์ context๋ฅผ static ๋ณ์๋ก ๋ด์๋ ํ,
public static Context mContext;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewnote);
mContext = this;
..//์ดํ์๋ต
์ด Context๋ฅผ ์ฌ์ฉํ๋ค.
Toast.makeText(viewmemoActivity.mContext, "pos", Toast.LENGTH_SHORT).show();