프래그먼트에서 띄우는건 액티비티에서 띄우는거랑 좀 다르다.
activity랑 fragment가 달라서 그렇다.
<Button android:layout_width="wrap_content"
//id를 설정해주고, 아래 java 파일에서 사용된다.
android:id="@+id/InputRecord"
//implements View.onClickListener를 추가한다.
public class HomeFragment extends Fragment implements View.OnClickListener {
private HomeViewModel homeViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
homeViewModel =
new ViewModelProvider(this).get(HomeViewModel.class);
View root = inflater.inflate(R.layout.fragment_home, container, false);
final TextView textView = root.findViewById(R.id.text_home);
homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
//xml에 id가 InputRecord인 버튼에 OnClickListener를 추가한다.
Button onButtonClickedInputRecord = (Button) root.findViewById(R.id.InputRecord);
onButtonClickedInputRecord.setOnClickListener(this);
return root;
}
//implements View.onClickListener를 추가하면 추가된다.
@Override
public void onClick(View v) {
Button b = (Button) v;
switch(b.getId()) {
//id에 따라서 다른 구현을 한다.
case R.id.InputRecord:
//버튼 클릭시 아래 구현이 실행된다.
System.out.println("InputRecord clicked");
getActivity().startActivity(new Intent(getActivity(), InputActivity.class));
break;
}
}
}
'잡다한 프로젝트 > 안드로이드' 카테고리의 다른 글
<안드로이드> Fragment vs Activity 차이 (0) | 2020.12.26 |
---|---|
<안드로이드> 자바 - 사진 찍고 저장, 불러오기 (0) | 2020.11.29 |
<안드로이드> android studio에 assets 폴더에 1mb이상 파일 넣고 sqlite로 읽어야된다. (0) | 2020.11.23 |
<안드로이드 개발> 화면 잘리는 문제 2편: 안드로이드 레이아웃 동적 대응 (0) | 2020.10.11 |
<안드로이드 개발> 화면 잘리는 문제 1편: 해상도, dp, ppi, dpi개념 (1) | 2020.10.09 |