Skip to content

Commit 6461769

Browse files
committed
FragmentAddMistake0 bug fixed
Signed-off-by: xavieryao <[email protected]>
1 parent 83a58ae commit 6461769

File tree

8 files changed

+46
-44
lines changed

8 files changed

+46
-44
lines changed

res/values/strings.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
<string-array name="drawer_items">
1414
<item>首页</item>
1515
<item>全部题目</item>
16-
<item>Sample Page 0</item>
17-
<item>Sample Page 1</item>
18-
<item>Sample Page 2</item>
16+
<item>自我评测</item>
17+
<item>牛X的功能</item>
18+
<item>牛X的功能</item>
19+
<item>关于</item>
1920
</string-array>
2021
<!-- 版权信息 -->
2122
<string name="copy_right">哪错了?\n版本:Rolling Stone pre-ɑ\n2013 PaperAirplane Dev Team</string>

src/org/papdt/miscol/ui/ActivityMain.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import org.papdt.miscol.R;
44
import org.papdt.miscol.ui.adapter.DrawerAdapter;
55
import org.papdt.miscol.ui.adapter.DrawerAdapter.IDrawerNames;
6+
import org.papdt.miscol.ui.fragment.FragmentAbout;
7+
import org.papdt.miscol.ui.fragment.FragmentConstruction;
68
import org.papdt.miscol.ui.fragment.FragmentMain;
79
import org.papdt.miscol.ui.fragment.FragmentCategories;
810

@@ -113,8 +115,11 @@ private void selectItem(int position) {
113115
case MISTAKES:
114116
mFragments[position] = FragmentCategories.getInstance();
115117
break;
118+
case ABOUT:
119+
mFragments[position] = new FragmentAbout();
120+
break;
116121
default:
117-
mFragments[position] = new Fragment();
122+
mFragments[position] = new FragmentConstruction();
118123
// TODO 初始化各Fragment
119124
break;
120125
}
@@ -240,6 +245,7 @@ private void initializeTabs() {
240245
mTabListener = new MistakesTabListener(
241246
(FragmentCategories) mFragments[MISTAKES]);
242247
}
248+
//FIXME 横屏模式下ActionBar Tab颜色问题
243249
actionBar.removeAllTabs();
244250
Tab tagTab = actionBar.newTab().setText(R.string.tag)
245251
.setTag(MistakesTabListener.TAGS).setTabListener(mTabListener);

src/org/papdt/miscol/ui/MistakeCard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class MistakeCard extends Card {
1919

2020
public MistakeCard(Mistake m) {
2121
mMistake = m;
22-
setmBindedObject(mMistake);
22+
this.setmBindedObject(mMistake);
2323
}
2424

2525
@Override

src/org/papdt/miscol/ui/adapter/DrawerAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ public class DrawerAdapter extends BaseAdapter {
1717
public interface IDrawerNames {
1818
int MAIN = 0; // 要不以后这么样,常量不要那么多,用接口
1919
int MISTAKES = 1; // fython : 嗯!
20-
int THIRD = 2;
20+
int TEST = 2;
2121
int FORTH = 3;
2222
int FIFTH = 4;
23-
String[] TAGS = { "Welcome", "Mistakes", "Third", "Forth", "Fifth" };
23+
int ABOUT = 5;
24+
String[] TAGS = { "Welcome", "Mistakes", "Test", "Forth", "Fifth",
25+
"About" };
2426
}
2527

2628
public DrawerAdapter(String[] datas, Context ctx) {

src/org/papdt/miscol/ui/fragment/FragmentAddMistake0.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,14 @@
3030
import android.widget.Toast;
3131

3232
public 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-

src/org/papdt/miscol/ui/fragment/FragmentCategories.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
* 用于显示 [标签]、[年级/科目] 的全部分类的Fragment
3232
*
3333
*/
34-
public class FragmentCategories extends AbsFragmentCategories implements CategoryInfo.TYPE {
34+
public class FragmentCategories extends AbsFragmentCategories implements
35+
CategoryInfo.TYPE {
3536

3637
private final int NULL = -1;
3738

@@ -67,15 +68,6 @@ public void onClick(View arg0) {
6768
}
6869

6970
});
70-
return v;
71-
}
72-
73-
/**
74-
* 刷新
75-
*/
76-
@Override
77-
public void onResume() {
78-
super.onResume();
7971
if (mCurrentTab != NULL) {
8072
switch (mCurrentTab) {
8173
case TAGS:
@@ -86,7 +78,9 @@ public void onResume() {
8678
break;
8779
}
8880
}
89-
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
81+
getActivity().getActionBar().setNavigationMode(
82+
ActionBar.NAVIGATION_MODE_TABS);
83+
return v;
9084
}
9185

9286
@Override
@@ -138,7 +132,6 @@ public FragmentCategories() {
138132
Log.d(TAG, TAG + "被初始化");
139133
}
140134

141-
142135
private CategoryCard[] queryCategoryCards(int category) {
143136
CategoryInfo[] info = mDbHelper.getCategoryInfo(category);
144137
return processCategoryCard(info);

src/org/papdt/miscol/ui/fragment/FragmentMistakeDetail.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
public class FragmentMistakeDetail extends Fragment implements OnClickListener{
2323
public final static String TAG = "FragmentMistakeDetail";
24-
private final static String KEY = "Mistake";
24+
public final static String KEY = "Mistake";
2525

2626
private Mistake mMistake;
2727
private Answer mAnswer;

src/org/papdt/miscol/ui/fragment/FragmentMistakes.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,11 @@ public void onClick(DialogInterface view, int button) {
141141
public void onClick(View v) {
142142
Mistake m = (Mistake) v.getTag();
143143
Bundle args = new Bundle();
144-
args.putParcelable(KEY, m);
144+
args.putParcelable(FragmentMistakeDetail.KEY, m);
145145
Fragment fragment = new FragmentMistakeDetail();
146146
fragment.setArguments(args);
147147
getFragmentManager().beginTransaction().addToBackStack(TAG)
148-
.replace(R.id.fl_content, fragment).commit();
148+
.replace(R.id.fl_content, fragment).commit();
149149
}
150150

151151
}

0 commit comments

Comments
 (0)