728x90
반응형

Adapter.java

public class memo_Adapter extends RecyclerView.Adapter<memo_Adapter.CustomViewHoler> {


    private ArrayList<memo_list> arrayList;
    private Context context;


    public memo_Adapter(ArrayList<memo_list> arrayList, Context context) {
        this.arrayList = arrayList;
        this.context = context;
    }

    @NonNull
    @Override
    public CustomViewHoler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.memo_list, parent, false);
        CustomViewHoler holder = new CustomViewHoler(view);

        return holder;
    }

   @Override
    public void onBindViewHolder(@NonNull final CustomViewHoler holder, int position) {

	holder.itemView.setTag(position); //커스텀 리스트 뷰의 각각의 리스트를 의미
        holder.mname.setText(arrayList.get(position).getmname());//


        //리스트 클릭 이벤트
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String mname = holder.mname.getText().toString(); //holder로 가져온 값을 변수에 넣기
       
                Intent intent;//인텐트 선언
                intent = new Intent(context, look_memo.class); //look_memo.class부분에 원하는 화면 연결
                intent.putExtra("mname", mname); //변수값 인텐트로 넘기기
                context.startActivity(intent); //액티비티 열기

            }
            
        });
    }
    
    @Override
    public int getItemCount() {
        return (arrayList != null ? arrayList.size() : 0);
    }
    
    
    
    public class CustomViewHoler extends RecyclerView.ViewHolder {
    
        TextView mname;


        public CustomViewHoler(@NonNull View itemView) {
            super(itemView);
            this.mname = itemView.findViewById(R.id.mname);

        }
    }

onBindViewHolder 부분에서 커스텀 리스트뷰를 눌렀을 경우 새로운 화면을 열도록 설정

 

 

 

 

 

 

Adapter에서 지정한 리스트를 눌렀을때 나오는 화면.java

public class look_memo extends AppCompatActivity {

    private Intent intent; //인텐트 선언
    String mname;
 

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

        intent = getIntent();// 인텐트 받아오기
        name = intent.getStringExtra("mname"); //Adapter에서 받은 키값 연결
   
    }
}

 

728x90
반응형

+ Recent posts