Commit 8909def2 authored by fallenstardust's avatar fallenstardust

设置fragment重置方法

移除不使用的initDecksListSpinners方法
parent 134ff294
...@@ -123,7 +123,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -123,7 +123,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
private File mPreLoadFile; private File mPreLoadFile;
private DeckItemTouchHelper mDeckItemTouchHelper; private DeckItemTouchHelper mDeckItemTouchHelper;
private AppCompatSpinner mDeckSpinner;
private TextView tv_deck; private TextView tv_deck;
private TextView tv_result_count; private TextView tv_result_count;
private AppCompatSpinner mLimitSpinner; private AppCompatSpinner mLimitSpinner;
...@@ -166,8 +165,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -166,8 +165,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
tv_deck = layoutView.findViewById(R.id.tv_deck); tv_deck = layoutView.findViewById(R.id.tv_deck);
tv_result_count = layoutView.findViewById(R.id.result_count); tv_result_count = layoutView.findViewById(R.id.result_count);
mDeckSpinner = layoutView.findViewById(R.id.toolbar_list);
mDeckSpinner.setPopupBackgroundResource(R.color.colorNavy);
mLimitSpinner = layoutView.findViewById(R.id.sp_limit_list); mLimitSpinner = layoutView.findViewById(R.id.sp_limit_list);
mLimitSpinner.setPopupBackgroundResource(R.color.colorNavy); mLimitSpinner.setPopupBackgroundResource(R.color.colorNavy);
mRecyclerView = layoutView.findViewById(R.id.grid_cards); mRecyclerView = layoutView.findViewById(R.id.grid_cards);
...@@ -180,19 +178,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -180,19 +178,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
touchHelper.setEnableClickDrag(Constants.DECK_SINGLE_PRESS_DRAG); touchHelper.setEnableClickDrag(Constants.DECK_SINGLE_PRESS_DRAG);
touchHelper.attachToRecyclerView(mRecyclerView); touchHelper.attachToRecyclerView(mRecyclerView);
mRecyclerView.addOnItemTouchListener(new RecyclerViewItemListener(mRecyclerView, this)); mRecyclerView.addOnItemTouchListener(new RecyclerViewItemListener(mRecyclerView, this));
mDeckSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
File file = getSelectDeck(mDeckSpinner);
if (file != null) {
loadDeckFromFile(file);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
initBoomMenuButton(layoutView.findViewById(R.id.bmb)); initBoomMenuButton(layoutView.findViewById(R.id.bmb));
layoutView.findViewById(R.id.btn_nav_search).setOnClickListener((v) -> doMenu(R.id.action_search)); layoutView.findViewById(R.id.btn_nav_search).setOnClickListener((v) -> doMenu(R.id.action_search));
layoutView.findViewById(R.id.btn_nav_list).setOnClickListener((v) -> doMenu(R.id.action_card_list)); layoutView.findViewById(R.id.btn_nav_list).setOnClickListener((v) -> doMenu(R.id.action_card_list));
...@@ -205,6 +190,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -205,6 +190,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
String preLoadFile = ""; String preLoadFile = "";
if (getArguments() != null) { if (getArguments() != null) {
preLoadFile = getArguments().getString("setDeck"); preLoadFile = getArguments().getString("setDeck");
getArguments().clear();
} }
final File _file; final File _file;
//打开指定卡组 //打开指定卡组
...@@ -265,19 +251,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -265,19 +251,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
} }
@Override @Override
public void onFirstUserVisible() { public void onFirstUserVisible() {}
}
@Override @Override
public void onUserVisible() { public void onUserVisible() {}
}
@Override @Override
public void onFirstUserInvisible() { public void onFirstUserInvisible() {}
}
@Override @Override
public void onUserInvisible() { public void onUserInvisible() {
...@@ -367,7 +347,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -367,7 +347,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
view.findViewById(R.id.cube2).startAnimation(shake); //给组件播放动画效果 view.findViewById(R.id.cube2).startAnimation(shake); //给组件播放动画效果
} }
protected void hideDrawers() { public void hideDrawers() {
if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) { if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
mDrawerLayout.closeDrawer(Gravity.RIGHT); mDrawerLayout.closeDrawer(Gravity.RIGHT);
} }
...@@ -450,7 +430,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -450,7 +430,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
dlg.dismiss(); dlg.dismiss();
mCardSelector.initItems(); mCardSelector.initItems();
initLimitListSpinners(mLimitSpinner, mCardLoader.getLimitList()); initLimitListSpinners(mLimitSpinner, mCardLoader.getLimitList());
initDecksListSpinners(mDeckSpinner, rs.source);
//设置当前卡组 //设置当前卡组
setCurDeck(rs); setCurDeck(rs);
//设置收藏夹 //设置收藏夹
...@@ -861,7 +840,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -861,7 +840,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
FileUtils.deleteFile(mDeckAdapater.getYdkFile()); FileUtils.deleteFile(mDeckAdapater.getYdkFile());
dlg.dismiss(); dlg.dismiss();
File file = getFirstYdk(); File file = getFirstYdk();
initDecksListSpinners(mDeckSpinner, file);
loadDeckFromFile(file); loadDeckFromFile(file);
} }
}); });
...@@ -1062,38 +1040,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1062,38 +1040,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
return null; return null;
} }
private void initDecksListSpinners(Spinner spinner, File curYdk) {
List<File> files = getYdkFiles();
List<SimpleSpinnerItem> items = new ArrayList<>();
String name = curYdk != null ? curYdk.getName() : null;
int index = -1;
if (files != null) {
Collections.sort(files, (ydk1, ydk2) -> {
if (ydk1.isDirectory() && ydk2.isFile())
return -1;
if (ydk1.isFile() && ydk2.isDirectory())
return 1;
return ydk1.getName().compareTo(ydk2.getName());
});
int i = 0;
for (File file : files) {
if (name != null && TextUtils.equals(name, file.getName())) {
index = i;
}
String filename = IOUtils.tirmName(file.getName(), Constants.YDK_FILE_EX);
items.add(new SimpleSpinnerItem(i++, filename).setTag(file));
}
}
SimpleSpinnerAdapter simpleSpinnerAdapter = new SimpleSpinnerAdapter(getContext());
simpleSpinnerAdapter.set(items);
simpleSpinnerAdapter.setColor(Color.WHITE);
simpleSpinnerAdapter.setSingleLine(true);
spinner.setAdapter(simpleSpinnerAdapter);
if (index >= 0) {
spinner.setSelection(index);
}
}
private void initLimitListSpinners(Spinner spinner, LimitList cur) { private void initLimitListSpinners(Spinner spinner, LimitList cur) {
List<SimpleSpinnerItem> items = new ArrayList<>(); List<SimpleSpinnerItem> items = new ArrayList<>();
List<String> limitLists = mLimitManager.getLimitNames(); List<String> limitLists = mLimitManager.getLimitNames();
...@@ -1174,7 +1120,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1174,7 +1120,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
} }
if (!keepOld && oldYdk != null && oldYdk.exists()) { if (!keepOld && oldYdk != null && oldYdk.exists()) {
if (oldYdk.renameTo(ydk)) { if (oldYdk.renameTo(ydk)) {
initDecksListSpinners(mDeckSpinner, ydk);
dlg.dismiss(); dlg.dismiss();
loadDeckFromFile(ydk); loadDeckFromFile(ydk);
} }
...@@ -1187,7 +1132,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1187,7 +1132,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
boolean ret = ydk.createNewFile(); boolean ret = ydk.createNewFile();
} catch (Throwable ignore) { } catch (Throwable ignore) {
} }
initDecksListSpinners(mDeckSpinner, ydk);
save(ydk); save(ydk);
loadDeckFromFile(ydk); loadDeckFromFile(ydk);
} }
......
...@@ -13,6 +13,7 @@ import android.widget.Toast; ...@@ -13,6 +13,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import com.ashokvarma.bottomnavigation.BottomNavigationBar; import com.ashokvarma.bottomnavigation.BottomNavigationBar;
import com.ashokvarma.bottomnavigation.BottomNavigationItem; import com.ashokvarma.bottomnavigation.BottomNavigationItem;
...@@ -102,20 +103,18 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -102,20 +103,18 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
super.onNewIntent(intent); super.onNewIntent(intent);
int mFlag = intent.getIntExtra("flag", 0); int mFlag = intent.getIntExtra("flag", 0);
if (mFlag == 4) { //判断获取到的flag值 if (mFlag == 4) { //判断获取到的flag值
switchFragment(fragment_personal, 4); switchFragment(fragment_personal, 4, false);
} else if (mFlag == 3) { } else if (mFlag == 3) {
switchFragment(fragment_mycard, 3); switchFragment(fragment_mycard, 3, false);
} else if (intent.hasExtra(Intent.EXTRA_TEXT)) { } else if (intent.hasExtra(Intent.EXTRA_TEXT)) {
String strDeck = intent.getStringExtra(Intent.EXTRA_TEXT); String strDeck = intent.getStringExtra(Intent.EXTRA_TEXT);
if (!strDeck.isEmpty()) { if (!strDeck.isEmpty()) {
mBundle.putString("setDeck", strDeck); mBundle.putString("setDeck", strDeck);
fragment_deck_cards.setArguments(mBundle); fragment_deck_cards.setArguments(mBundle);
} }
switchFragment(fragment_deck_cards, 2); switchFragment(fragment_deck_cards, 2, true);
} else if (mFlag == 1) { } else if (mFlag == 1) {
switchFragment(fragment_search, 1); switchFragment(fragment_search, 1, false);
} }
} }
...@@ -151,39 +150,47 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -151,39 +150,47 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
public void onTabSelected(int position) { public void onTabSelected(int position) {
switch (position) { switch (position) {
case 0: case 0:
switchFragment(fragment_home, 0); switchFragment(fragment_home, 0, false);
break; break;
case 1: case 1:
switchFragment(fragment_search, 1); switchFragment(fragment_search, 1, false);
break; break;
case 2: case 2:
switchFragment(fragment_deck_cards, 2); switchFragment(fragment_deck_cards, 2, false);
break; break;
case 3: case 3:
switchFragment(fragment_mycard, 3); switchFragment(fragment_mycard, 3, false);
break; break;
case 4: case 4:
switchFragment(fragment_personal, 4); switchFragment(fragment_personal, 4, false);
break; break;
} }
} }
public void switchFragment(Fragment fragment, int page) { public void switchFragment(Fragment fragment, int page, boolean replace) {
//用于intent到指定fragment时底部图标也跟着设置为选中状态 //用于intent到指定fragment时底部图标也跟着设置为选中状态
bottomNavigationBar.setFirstSelectedPosition(page).initialise(); bottomNavigationBar.setFirstSelectedPosition(page).initialise();
// //
FragmentTransaction transaction =getSupportFragmentManager().beginTransaction();
if (mFragment.isHidden()) if (mFragment.isHidden())
getSupportFragmentManager().beginTransaction().show(mFragment).commit(); transaction.show(mFragment).commit();
//判断当前显示的Fragment是不是切换的Fragment //判断当前显示的Fragment是不是切换的Fragment
if (mFragment != fragment) { if (mFragment != fragment) {
//判断切换的Fragment是否已经添加过 //判断切换的Fragment是否已经添加过
if (!fragment.isAdded()) { if (!fragment.isAdded()) {
//如果没有,则先把当前的Fragment隐藏,把切换的Fragment添加上 //如果没有,则先把当前的Fragment隐藏,把切换的Fragment添加上
getSupportFragmentManager().beginTransaction().hide(mFragment) transaction.hide(mFragment)
.add(R.id.fragment_content, fragment).commit(); .add(R.id.fragment_content, fragment).commit();
} else { } else {
//如果已经添加过,则先把当前的Fragment隐藏,把切换的Fragment显示出来 //如果已经添加过,则先把当前的Fragment隐藏,把切换的Fragment显示出来
getSupportFragmentManager().beginTransaction().hide(mFragment).show(fragment).commit(); if (replace) {
//需要重新加载onCreateView需要detach再attach,而不是replace
transaction.hide(mFragment).detach(fragment).attach(fragment)
.show(fragment)//重启该fragment后需要重新show
.commit();
} else {
transaction.hide(mFragment).show(fragment).commit();
}
} }
mFragment = fragment; mFragment = fragment;
} }
...@@ -330,7 +337,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -330,7 +337,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
mBundle.putString("setDeck", file.getAbsolutePath()); mBundle.putString("setDeck", file.getAbsolutePath());
fragment_deck_cards.setArguments(mBundle); fragment_deck_cards.setArguments(mBundle);
} }
switchFragment(fragment_deck_cards, 2); switchFragment(fragment_deck_cards, 2, true);
} else { } else {
//如果是卡组文本 //如果是卡组文本
try { try {
...@@ -340,7 +347,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -340,7 +347,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
mBundle.putString("setDeck", file.getAbsolutePath()); mBundle.putString("setDeck", file.getAbsolutePath());
fragment_deck_cards.setArguments(mBundle); fragment_deck_cards.setArguments(mBundle);
} }
switchFragment(fragment_deck_cards, 2); switchFragment(fragment_deck_cards, 2, true);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
Toast.makeText(this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show();
......
...@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -18,7 +18,6 @@ import androidx.recyclerview.widget.RecyclerView;
import cn.garymb.ygomobile.base.BaseFragemnt; import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.adapters.SettingsListAdapter;
import cn.garymb.ygomobile.ui.home.HomeActivity; import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.MycardFragment; import cn.garymb.ygomobile.ui.mycard.MycardFragment;
import cn.garymb.ygomobile.ui.mycard.base.OnMcUserListener; import cn.garymb.ygomobile.ui.mycard.base.OnMcUserListener;
...@@ -33,7 +32,6 @@ public class PersonalFragment extends BaseFragemnt implements OnMcUserListener { ...@@ -33,7 +32,6 @@ public class PersonalFragment extends BaseFragemnt implements OnMcUserListener {
private ImageView iv_avatar; private ImageView iv_avatar;
private McUserManagement userManagement; private McUserManagement userManagement;
private RecyclerView rv_list; private RecyclerView rv_list;
private SettingsListAdapter settingsAdapter;
private MycardFragment fragment_mycard; private MycardFragment fragment_mycard;
private PersonalFragment fragment_personal; private PersonalFragment fragment_personal;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment