这节收获很多啊。先说bug
1.在fCriminalragment类的时候
View v=inflater.inflate(R.layout.fragment_crime, parent, false);
R.layout点不出布局,后来发现是引用了//import android.R;
注释掉即可
2.布局文件里的EditText写成了EditView这个问题调了10分钟才解决,郁闷啊
内容还蛮好,整体思路是
在布局里面预先定义很多Flaglayout挂载点
然后定义flagment视图
创建管理flagment布局的fragment类
在activity里面的fragmentManager添加fragment
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// if (savedInstanceState == null) {
// getSupportFragmentManager().beginTransaction()
// .add(R.id.container, new PlaceholderFragment()).commit();
// }
FragmentManager fm=this.getSupportFragmentManager();
Fragment f=fm.findFragmentById(R.id.container);
if(f==null)
{
fm.beginTransaction()
.add(R.id.container, new CriminalFragment())
.commit();
}
}
package com.example.criminal.fragment;
import com.example.criminal.R;
import com.example.criminal.model.Crime;
//import android.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.EditText;
public class CriminalFragment extends Fragment implements TextWatcher {
private Crime mCrime=null;
private EditText et=null;
@Override
public void onCreate(Bundle savedInstanceState )
{
super.onCreate(savedInstanceState);
mCrime=new Crime();
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup parent,Bundle savedInstanceState)
{
View v=inflater.inflate(R.layout.fragment_crime, parent, false);
Log.e("CriminalFragment", v==null?"null":v.toString());
et=(EditText) v.findViewById(R.id.content);
et.addTextChangedListener(this);
return v;
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
mCrime.setmTitle(arg0.toString());
Log.e("CriminalFragment", mCrime.getmTitle());
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
}