android--접촉fragment

3414 단어
'android가 권위가 되는 지침서'fragment의 사용을 배웠습니다. 이 글은 저에게fragment가 도대체 좋은 점이 어디에 있는지 읽게 하지 못했기 때문에 가장 기본적인fragment를 어떻게 사용하는지 기록하고 자신의 이해와 기억만을 위해 사용했습니다.
1. 습관을 기록하는 데 사용되는 Crime 솔리드 클래스 만들기
public class Crime {
	private UUID mId;
	private String title;

	public Crime() {
		super();
		this.mId = UUID.randomUUID();
	}

	public UUID getmId() {
		return mId;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
}

2. fragment 생성crime.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="vertical"
     >

    <EditText
        android:id="@+id/crime_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/criminal_title_hint" />

</LinearLayout>

3. CrimeFragment를 만들고 Fragmen을 계승하는 것이 중요하다
public class CrimeFragment extends Fragment {

	private Crime mCrime;
	private EditText mTitleField;
	//private Button mDateButton;
	//private CheckBox mSolvedCheckBox;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mCrime = new Crime();
	}
  
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
	        //  inflater  fragment  
		View view = inflater.inflate(R.layout.fragment_crime, container,false);
		//  fragment    EditText
		mTitleField = (EditText) view.findViewById(R.id.crime_title);
		// EditText    
		mTitleField.addTextChangedListener(new TextWatcher() {
			
			@Override
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				mCrime.setTitle(s.toString().trim());
			}
			
			@Override
			public void beforeTextChanged(CharSequence s, int start, int count, int after) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void afterTextChanged(Editable s) {
				// TODO Auto-generated method stub
				
			}
		});
		return view;
	}
}

    4.Fragment를 표시하려면 Criminal Activity가 관리하고 Activity와 레이아웃 파일을 먼저 만듭니다.
public class CriminalActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_crime);
		//   API11        getFragmentManager
		FragmentManager fm = getFragmentManager();
		Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
		if (fragment == null) {
			fragment = new CrimeFragment();
			//      fragment   Activity      ,              
			fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit();
		}
	}
}
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragmentContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    
</FrameLayout>

이상은fragment를 초보적으로 사용하는 절차입니다. 저는 뒤의 학습을 통해fragment의 생명주기와 그 생명주기를 더욱 깊이 이해할 수 있을 것이라고 믿습니다.

좋은 웹페이지 즐겨찾기