3030import android .widget .Toast ;
3131
3232public class FragmentAddMistake0 extends AbsFragmentAddMistake implements
33- OnItemSelectedListener ,CategoryInfo .TYPE {
33+ OnItemSelectedListener , CategoryInfo .TYPE {
3434
3535 private LinearLayout mLayout ;
3636 private EditText mEtTitle ;
3737 private Spinner mSpinnerGrade , mSpinnerSubject , mSpinnerType ;
3838 private TextView mTvTags ;
3939 private Mistake mMistake ;
4040 private DatabaseHelper mDbHelper ;
41- private boolean mInitialized ;
4241 private ArrayAdapter <String > mGradeAdapter , mSubjectAdapter ;
4342 public HashSet <String > mTags = new HashSet <String >();
4443 public HashSet <String > mAllTags = new HashSet <String >();
@@ -76,19 +75,23 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
7675 mTvTags = (TextView ) mLayout .findViewById (R .id .tv_tags );
7776 mSpinnerGrade = (Spinner ) mLayout .findViewById (R .id .spinner_grade );
7877 mSpinnerSubject = (Spinner ) mLayout .findViewById (R .id .spinner_subject );
79- mSpinnerType = (Spinner )mLayout .findViewById (R .id .spinner_type );
80-
78+ mSpinnerType = (Spinner ) mLayout .findViewById (R .id .spinner_type );
79+
8180 mSpinnerGrade .setAdapter (mGradeAdapter );
8281 mSpinnerSubject .setAdapter (mSubjectAdapter );
83- mSpinnerType .setAdapter (new ArrayAdapter <String >(getActivity (),android .R .layout .simple_spinner_item ,getResources ().getStringArray (R .array .types )));
84- ((ArrayAdapter <?>)mSpinnerType .getAdapter ()).setDropDownViewResource (android .R .layout .simple_spinner_dropdown_item );
85-
82+ mSpinnerType .setAdapter (new ArrayAdapter <String >(getActivity (),
83+ android .R .layout .simple_spinner_item , getResources ()
84+ .getStringArray (R .array .types )));
85+ ((ArrayAdapter <?>) mSpinnerType .getAdapter ())
86+ .setDropDownViewResource (android .R .layout .simple_spinner_dropdown_item );
87+
8688 mSpinnerGrade .setOnItemSelectedListener (this );
8789 mSpinnerSubject .setOnItemSelectedListener (this );
8890 fillDatas ();
91+ assert (mSpinnerGrade .getOnItemSelectedListener () == this );
8992 return mLayout ;
9093 }
91-
94+
9295 @ Override
9396 public void onPrepareOptionsMenu (Menu menu ) {
9497 menu .clear ();
@@ -170,8 +173,7 @@ private void fillDatas() {
170173 }
171174 mAllTags .addAll (mTags );
172175 CategoryInfo [] gradeInfo = mDbHelper .getCategoryInfo (GRADES );
173- CategoryInfo [] subjectInfo = mDbHelper
174- .getCategoryInfo (SUBJECTS );
176+ CategoryInfo [] subjectInfo = mDbHelper .getCategoryInfo (SUBJECTS );
175177 addCategoryInfoToAdapter (gradeInfo , mGradeAdapter );
176178 addCategoryInfoToAdapter (subjectInfo , mSubjectAdapter );
177179 String addCat = getString (R .string .add_category );
@@ -194,12 +196,11 @@ private void fillDatas() {
194196 mSpinnerSubject .setSelection (subjectIndex );
195197 }
196198 }
197- mInitialized = true ;
198199 }
199200
200201 private void addCategoryInfoToAdapter (CategoryInfo [] info ,
201202 ArrayAdapter <String > adapter ) {
202- if (info != null ) {
203+ if (info . length > 0 ) {
203204 for (CategoryInfo ci : info ) {
204205 adapter .add (ci .getName ());
205206 }
@@ -364,22 +365,23 @@ private void addGrade(String name) {
364365 @ Override
365366 public void onItemSelected (AdapterView <?> parent , View view , int position ,
366367 long id ) {
367- Log .d (TAG , "onItemSelected position: " + position );
368+ // FIXME 根本不工作
369+ Log .d (TAG , "onItemSelected" );
368370 try {
369371 switch (parent .getId ()) {
370372 case R .id .spinner_grade :
373+ Log .d (TAG , "mSpinnerGrade onItemSelected position: " + position );
374+ Log .d (TAG , mGradeAdapter .getItem (position ));
371375 if (mGradeAdapter .getItem (position ).equals (
372- getString (R .string .add_category ))&&mInitialized ) {
373- Log .d (TAG , "addGrade" );
376+ getString (R .string .add_category )))
374377 openAddGradeDialog ();
375- }
376378 break ;
377379 case R .id .spinner_subject :
380+ Log .d (TAG , "mSpinnerSubject onItemSelected position: "
381+ + position );
378382 if (mSubjectAdapter .getItem (position ).equals (
379- getString (R .string .add_category ))&&mInitialized ) {
380- Log .d (TAG , "addSubject" );
383+ getString (R .string .add_category )))
381384 openAddSubjectDialog ();
382- }
383385 break ;
384386 }
385387 } catch (NullPointerException e ) {
@@ -389,9 +391,7 @@ public void onItemSelected(AdapterView<?> parent, View view, int position,
389391
390392 @ Override
391393 public void onNothingSelected (AdapterView <?> arg0 ) {
392-
394+ Log . d ( TAG , "onNothingSelected." );
393395 }
394396
395397}
396-
397-
0 commit comments