1.创建新的项目
2.创建新的activity
3.Gradle依赖设置
4.查看APPcompat依赖库的版本
5.模板代码已经自动更改
6.新建Crime子类
7.为Crime添加代码
8.为变量mTitle、 mDate 和mSolved 生成getter和setter方法
9.创建fragment容器布局
10.在Strigs.xml中添加字符串资源
11.创建布局文件Fragment _crime.xml
12.在fragment_crime.xml添加代码
13.CrimeFrament布局预览图
14.建CrimeFragment子类
15.添加代码继承Fragment类
16.覆盖Fragment.onCreate(Bundle)方法
017覆盖onCreateView(···)方法
018生成并使用EditText组件
生成并使用EditText组件
private EditText mTitleField;
mTitleField= (EditText)v.findViewById(R.id.crime_title);
mTitleField.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(
CharSequence s,int start,int count,int after){
//this space intentionally left blank
}
@Override
public void onTextChanged(
CharSequence s,int start,int before, int count){
mCrime.setmTitle(s.toString());
}
@Override
public void afterTextChanged(Editable s){
//This one too
}
});
设置Button文字
private Button mDateButton;
mDateButton =(Button)v.findViewById(R.id.crime_date);
mDateButton.setText(mCrime.getmDate().toString());
mDateButton.setEnabled(false);
监听checkBox的变化
private CheckBox mSolvedCheckBox;
mSolvedCheckBox=(CheckBox)v.findViewById(R.id.crime_solved);
mSolvedCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked){
mCrime.setSolved(isChecked);
}
});
7.6向FragmentManager添加UI fragment
7-15 获取FragmentManager(CrimeActivity.java)
FragmentManager fm=getSupportFragmentManager();
7-16添加一个CrimeFragment(CrimeActivity.java)
Fragment fragment=fm.findFragmentById(R.id.frament_container);
if (fragment==null){
fragment =new CrimeFragment();
fm.beginTransaction()
.add(R.id.frament_container,fragment)
.commit();
}