Android Programming The Big Nerd Ranch Guide, 3rd Edition

(Brent) #1

Chapter 7  UI Fragments and the Fragment Manager


146

Next, connect the Button to display the date of the crime, as shown in Listing 7.13.


Listing 7.13  Setting Button text (CrimeFragment.java)


public class CrimeFragment extends Fragment {
private Crime mCrime;
private EditText mTitleField;
private Button mDateButton;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_crime, container, false);
...
mDateButton = (Button) v.findViewById(R.id.crime_date);
mDateButton.setText(mCrime.getDate().toString());
mDateButton.setEnabled(false);


return v;
}
}


Disabling the button ensures that it will not respond in any way to the user pressing it. It also changes
its appearance to advertise its disabled state. In Chapter 12, you will enable the button and allow the
user to choose the date of the crime.


Moving on to the CheckBox, get a reference and set a listener that will update the mSolved field of the
Crime, as shown in Listing 7.14.


Listing 7.14  Listening for CheckBox changes (CrimeFragment.java)


public class CrimeFragment extends Fragment {
private Crime mCrime;
private EditText mTitleField;
private Button mDateButton;
private CheckBox mSolvedCheckBox;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_crime, container, 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;
}
}

Free download pdf