Fragment를 이용해서 간단한 사전을 만들어 보자.
이번 예제는 다음과 같이 3개의 파일을 만들어야한다.
activity_word_list_fragment.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<fragment
android:name="com.example.wordlistfragment.WordListFragment"
android:id="@+id/wordlist"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
/>
<TextView
android:id="@+id/worddesc"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:textColor="#ff0000"
android:text="HELLO"
/>
</LinearLayout>
WordListFragment.java
package com.example.wordlistfragment;
import android.app.Activity;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class WordListFragment extends ListFragment{
OnWordChangedListener mHost;
public static String[] WORDS = {
"1", "2", "3", "4", "5", "6"
};
public static String[] DESC = {
"숫자1", "숫자2", "숫자3", "숫자4", "숫자5", "숫자6"
};
public interface OnWordChangedListener{
public void onWordChanged(int index);
}
//액티비티에 프래그먼트가 처음 부착될 때 호출된다.
public void onAttach(Activity activity){
super.onAttach(activity);
try{
//액티비티가 이벤트 인터페이스를 확실히 구현하였는지 확인한다.
mHost = (OnWordChangedListener)activity;
}catch(ClassCastException e){
throw new ClassCastException("activity must implement OnWordChanged");
}
}
//액티비티가 완전히 초기화되고 프래그먼트의 레이아웃이 완성되었을때 호출
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_activated_1, WORDS));
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
//리스트 아이템이 클릭됬을 때 호출
public void onListItemClick(ListView l, View v, int position, long id){
l.setItemChecked(position, true);
mHost.onWordChanged(position);
}
}
WordList.java
package com.example.wordlistfragment;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class WordList extends Activity implements WordListFragment.OnWordChangedListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_word_list_fragment);
}
//인터페이스 구현.
public void onWordChanged(int index){
TextView worddesc = (TextView)findViewById(R.id.worddesc);
worddesc.setText(WordListFragment.DESC[index]);//여기서 사전 정보를 출력함
}
}
실행 화면
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 내비게이션 탭(Navigation Tab) (0) | 2015.10.04 |
---|---|
[펌자료] 안드로이드 - 액티비티의 상태를 저장 및 복원하는 콜백 메소드 - onSaveInstanceState, onRestoreInstanceState (0) | 2015.10.04 |
안드로이드 - ShareActionProvider를 이용한 앱간 데이터 공유 처리하기 (0) | 2015.10.04 |
안드로이드 - 액션바의 활용 두번째 액션 프로바이더 (0) | 2015.09.28 |
안드로이드 - 액션바의 활용 첫번째 SeachView (0) | 2015.09.20 |
안드로이드 - 앱 로고 아이콘 (0) | 2015.09.20 |
안드로이드 - 액션바 숨기기 및 보이기 (0) | 2015.09.20 |
안드로이드 - 액션바 기초 (0) | 2015.09.20 |