다음과 같은 레이아웃을 가지는 MainActivity를 생성하라.
액션바의 옵션 메뉴를 누르면 다음과 같이 3개의 메뉴가 나오고, 이중 하나만 선택되도록 하기 위해 메뉴 리소스의 메뉴 아이템을 <group> 태그로 묶고, android:checkableBehavior 의 값을 single
로 설정하라.
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/internal_storage"
android:title="Internal Storage"
/>
<item
android:id="@+id/external_storage"
android:title="External Storage"
/>
<item
android:id="@+id/sqlite"
android:title="SQLite Database"
/>
</group>
</menu>
옵션 메뉴 아이템을 선택하면, 선택된 메뉴 아이템의 체크 상태를 true로 만들어서 체크 표시가 되도록 하고, 선택된 상태를 SharedPreferences에 저장한다. 또한 옵션메뉴가 생성될 때 (onCreateOptionMenu() 메소드), SharedPreferences에 저장된 선택 상태에 따라서 메뉴 아이템의 체크 상태를 설정하라.
[힌트]
onCreateOptionMenu(Menu menu) 함수내에서 MenuItem 객체 얻어 체크상태 설정하는 방법
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
// findItem의 첫번째 파라미터는 메뉴아이템 리소스 아이디
menu.findItem(R.id.internal_storage).setChecked(true);
return super.onCreateOptionMenu(menu);
}
[결과 확인]
메인 화면의 LOAD 버튼을 누르면 해당 파일에서 데이터를 읽어서 결과를 보여는 TextView 창에 출력해 줍니다. [다음 그림은 LOAD 버튼을 누른 후 저장된 파일의 내용을 출력한 결과임]