level 1
Mr火吧
楼主
// Crime 类
package com.android.demo;
import java.util.*;
public class Crime
{
private UUID mId;
private String mTitle;
private Date mDate;
private boolean mSolved;
public Crime(){
mId = UUID.randomUUID();
mDate = new Date();
}
public UUID getId()
{
return mId;
}
public void setTitle(String title)
{
mTitle = title;
}
public String getTitle()
{
return mTitle;
}
public void setDate(Date date)
{
mDate = date;
}
public Date getDate()
{
return mDate;
}
public void setSolved(boolean solved)
{
mSolved = solved;
}
public boolean isSolved()
{
return mSolved;
}
}
//CrimeFragment 类
package com.android.demo;
import android.support.v4.app.Fragment;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.text.*;
import android.widget.CompoundButton.*;
public class CrimeFragment extends Fragment
{
private Crime mCrime;
private EditText mTitleField;
private Button mDateButton;
private CheckBox mSolvedCheckBox;
@Override
public void onCreate(Bundle savedInstanceState)
{
// TODO: Implement this method
super.onCreate(savedInstanceState);
mCrime = new Crime();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
// TODO: Implement this method
View v = inflater.inflate(R.layout.fragment_crime, container, false);
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.setTitle(toString());
}
@Override
public void afterTextChanged(Editable s){
// This one too
}
});
mDateButton = (Button)v.findViewById(R.id.crime_date);
mDateButton.setText(mCrime.getDate().toString());
mDateButton.setEnabled(false);
mSolvedCheckBox = (CheckBox)v.findViewById(R.id.crime_solved);
mSolvedCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked){
mCrime.setSolved(isChecked);
}
});
return v;
}
}
// MainActivity
package com.android.demo;
import android.os.*;
import android.support.v4.app.*;
import android.support.v7.app.*;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if(fragment == null){
fragment = new CrimeFragment();
fm.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();
}
}
}
2018年08月26日 14点08分
1
package com.android.demo;
import java.util.*;
public class Crime
{
private UUID mId;
private String mTitle;
private Date mDate;
private boolean mSolved;
public Crime(){
mId = UUID.randomUUID();
mDate = new Date();
}
public UUID getId()
{
return mId;
}
public void setTitle(String title)
{
mTitle = title;
}
public String getTitle()
{
return mTitle;
}
public void setDate(Date date)
{
mDate = date;
}
public Date getDate()
{
return mDate;
}
public void setSolved(boolean solved)
{
mSolved = solved;
}
public boolean isSolved()
{
return mSolved;
}
}
//CrimeFragment 类
package com.android.demo;
import android.support.v4.app.Fragment;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.text.*;
import android.widget.CompoundButton.*;
public class CrimeFragment extends Fragment
{
private Crime mCrime;
private EditText mTitleField;
private Button mDateButton;
private CheckBox mSolvedCheckBox;
@Override
public void onCreate(Bundle savedInstanceState)
{
// TODO: Implement this method
super.onCreate(savedInstanceState);
mCrime = new Crime();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
// TODO: Implement this method
View v = inflater.inflate(R.layout.fragment_crime, container, false);
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.setTitle(toString());
}
@Override
public void afterTextChanged(Editable s){
// This one too
}
});
mDateButton = (Button)v.findViewById(R.id.crime_date);
mDateButton.setText(mCrime.getDate().toString());
mDateButton.setEnabled(false);
mSolvedCheckBox = (CheckBox)v.findViewById(R.id.crime_solved);
mSolvedCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked){
mCrime.setSolved(isChecked);
}
});
return v;
}
}
// MainActivity
package com.android.demo;
import android.os.*;
import android.support.v4.app.*;
import android.support.v7.app.*;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if(fragment == null){
fragment = new CrimeFragment();
fm.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();
}
}
}



