티스토리 뷰
이전까지 작업내용 참조
=> https://4whomtbts.tistory.com/51
이 링크로 가시면 해당 포스팅에 해당하는 커밋의 소스코드를 볼 수 있습니다
=> https://github.com/4whomtbts/AND001/tree/dc5a6653be25108ae489eb382e862cfe6e38157a
○ 하고싶었던 것
물론, 이 프로젝트에서 내가 원래 의도했던 것은, 각각의 게임이름을 누르면
해당하는 새로운 프래그먼트로 교체하는 것이었지만.
그 프래그먼트로 간 상태에서, 원래의 프래그먼트로 가는 기능을 먼저 만들고자 했다.
본인에게는 recyclerView 의 adapter 가 있다
customs/GameTypeAdapter
public class GameTypeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
Context _ctx;
public static class GameTypeViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
Context _ctx;
ImageView ivPicture;
TextView gameTitle;
public GameTypeViewHolder(View view, Context context) {
super(view);
this._ctx = context;
gameTitle = view.findViewById(R.id.game_title);
view.setOnClickListener(this);
}
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(),"테스트",Toast.LENGTH_LONG).show();
MainActivity activity = (MainActivity)_ctx;
activity.switchContent(0);
}
}
private ArrayList<GameTypes> gameTypesList;
private ViewPager mViewPager;
public GameTypeAdapter(ArrayList<GameTypes> gameTypesList, Context context) {
this.gameTypesList = gameTypesList;
this._ctx = context;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType){
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.game_type_recycler_row,parent,false);
return new GameTypeViewHolder(v,_ctx);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position){
GameTypeViewHolder gvholder = (GameTypeViewHolder)holder;
gvholder.gameTitle.setText(gameTypesList.get(position).gameTitle);
}
@Override
public int getItemCount() {
return gameTypesList.size();
}
}
여기서 핵심은
1. MainActivity 에서부터 Context 를 전달해서 받는다
2. 그 Context 를 가지고, MainActivity에 fragment 를 전환하기 위해 내가 임의로 만든 함수를 실행한다.
@Override
public void onClick(View view) {
Toast.makeText(view.getContext(),"테스트",Toast.LENGTH_LONG).show();
MainActivity activity = (MainActivity)_ctx;
activity.switchContent(0);
}
_ctx 를 type Assertion 해서 가져왔습니다! 이제 activity.switchContent(0) 를 보러가겠습니다.
public void switchContent(int position){
mViewPager.setCurrentItem(0);
}
mViewPager = (ViewPager) findViewById(R.id.container);
#안드로이드 #recyclerView #fragment #recyclerView에서 fragment 전환하기
'안드로이드' 카테고리의 다른 글
Spinner item이 클릭이 안 될 때 (0) | 2020.01.12 |
---|---|
RecyclerView item 에 onClickListener 적용하기 (0) | 2019.02.12 |
Fragment 와 ViewPager 함께 쓰기 (7) | 2019.02.11 |
ViewPager 가 TabLayout 을 침범할 때 (0) | 2019.02.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 14714 공부법 어플리케이션
- 복습 계획어플
- CMAke 파일이름 추출
- 14714 review
- CMake for
- CMake 반복문
- react-native
- CMake probouf
- 14714 플래너
- CMake 기초
- 14714 공부법
- CMake run protoc
- 복습 어플
- get_filename_component
- CMake for문
- 토리파 공부법
- 14714 어플
- aws 청구문의
- 14714 어플리케이션
- buffer-over-flow
- CMake run proto compiler
- CMake get file name
- aws 프리티어 요금청구
- CMake 강좌
- 14714 복습법
- review reminder
- CMake get_filename_Component
- function pointer overflow
- 14714 앱
- 함수포인터 오버라이트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함