감사합니다.
조언 듣고 아래와 같이 진행하였으나 팝업화면이 나타나지 않습니다.
혹시 해결방법을 아시고 계신가요?
//adapter
public class BusRouteMapMyAdapter extends RecyclerView.Adapter<BusRouteMapMyAdapter.MyViewHolder>{
public interface OnItemClickListener {
void onItemClick(View v, int pos);
}
private OnItemClickListener mListener = null;
public void setOnItemClickListener(OnItemClickListener listener){
this.mListener = listener;
}
...
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String station_name = (String)(mList.get(position).getStationNm());
int pos = holder.getAbsoluteAdapterPosition();
if (pos != RecyclerView.NO_POSITION) {
//mListener.onItemClick(v, pos);
Toast.makeText(mContext, station_name + "를 클릭하셨습니다", Toast.LENGTH_SHORT).show();
Context context = v.getContext();
if(mListener != null) {
mListener.onItemClick(v,pos);
}
}
}
});
}
//activity
//btn1
BusRouteMapMyAdapter adapter = new BusRouteMapMyAdapter(list, getApplicationContext());
adapter.setOnItemClickListener(new BusRouteMapMyAdapter.OnItemClickListener() {
@Override
public void onItemClick(View v, int pos) {
Intent intent = new Intent(v.getContext(), CustomDialog.class);
intent.putExtra("busRoutedId", list.get(pos).getBusRouteId()); //노선ID
intent.putExtra("arsId", list.get(pos).getArsId()); //정류소ID
intent.putExtra("stationNm", list.get(pos).getStationNm()); //정류소명
intent.putExtra("beginTm", list.get(pos).getBeginTm()); //첫차시간
intent.putExtra("lastTm", list.get(pos).getLastTm()); //막차시간
intent.putExtra("station", list.get(pos).getStation()); //정류장9자리ID
intent.putExtra("staOrd", list.get(pos).getSeq());//순번
intent.putExtra("direction", list.get(pos).getDirection()); //목적지(방면)
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//mContext.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
startActivityForResult(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 1);
}
});
//팝업액티비티
//출발지로 선택 버튼 클릭
btn_selectstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "출발지로 선택하였습니다.", Toast.LENGTH_SHORT).show();
Intent intent_start = new Intent();
intent_start.putExtra("busRoutedId", busRouteId); //노선ID
intent_start.putExtra("arsId", arsId); //정류소ID
intent_start.putExtra("stationNm", stationNm); //정류소명
intent_start.putExtra("station", stId); //정류장9자리ID
intent_start.putExtra("staOrd", staOrd);//순번
intent_start.putExtra("direction", direction); //목적지(방면)
setResult(RESULT_OK, intent_start);
//팝업 닫기
finish();
}
});