Commit d85355ae authored by fallenstardust's avatar fallenstardust

cardsearcher改为fragment

parent 3f86928d
...@@ -169,4 +169,8 @@ public abstract class BaseFragemnt extends Fragment { ...@@ -169,4 +169,8 @@ public abstract class BaseFragemnt extends Fragment {
* fragment不可见(切换掉或者onPause) * fragment不可见(切换掉或者onPause)
*/ */
public abstract void onUserInvisible(); public abstract void onUserInvisible();
public abstract void onBackHome();
public abstract void onBackPressed();
} }
...@@ -7,10 +7,12 @@ import android.os.Bundle; ...@@ -7,10 +7,12 @@ import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
...@@ -31,6 +33,7 @@ import com.ourygo.assistant.util.DuelAssistantManagement; ...@@ -31,6 +33,7 @@ import com.ourygo.assistant.util.DuelAssistantManagement;
import java.util.List; import java.util.List;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.core.IrrlichtBridge; import cn.garymb.ygomobile.core.IrrlichtBridge;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.CardLoader; import cn.garymb.ygomobile.loader.CardLoader;
...@@ -48,7 +51,7 @@ import ocgcore.StringManager; ...@@ -48,7 +51,7 @@ import ocgcore.StringManager;
import ocgcore.data.Card; import ocgcore.data.Card;
import ocgcore.data.LimitList; import ocgcore.data.LimitList;
public class CardSearchActivity extends BaseActivity implements CardLoader.CallBack, CardSearcher.CallBack { public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallBack, CardSearcher.CallBack {
public static final String SEARCH_MESSAGE = "searchMessage"; public static final String SEARCH_MESSAGE = "searchMessage";
protected DrawerLayout mDrawerlayout; protected DrawerLayout mDrawerlayout;
protected CardSearcher mCardSelector; protected CardSearcher mCardSelector;
...@@ -69,24 +72,21 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -69,24 +72,21 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
private TextView mResult_count; private TextView mResult_count;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
setContentView(R.layout.activity_search); View layoutView;
mResult_count = findViewById(R.id.search_result_count); layoutView = inflater.inflate(R.layout.activity_search, container, false);
mResult_count = layoutView.findViewById(R.id.search_result_count);
duelAssistantManagement = DuelAssistantManagement.getInstance(); duelAssistantManagement = DuelAssistantManagement.getInstance();
intentSearchMessage = getIntent().getStringExtra(CardSearchActivity.SEARCH_MESSAGE); intentSearchMessage = getActivity().getIntent().getStringExtra(CardSearchFragment.SEARCH_MESSAGE);
// Toolbar toolbar = $(R.id.toolbar); mDrawerlayout = layoutView.findViewById(R.id.drawer_layout);
// setSupportActionBar(toolbar);
enableBackHome();
getSupportActionBar().hide();
mDrawerlayout = $(R.id.drawer_layout);
mImageLoader = new ImageLoader(true); mImageLoader = new ImageLoader(true);
mListView = $(R.id.list_cards); mListView = layoutView.findViewById(R.id.list_cards);
mCardListAdapter = new CardListAdapter(this, mImageLoader); mCardListAdapter = new CardListAdapter(getContext(), mImageLoader);
mCardListAdapter.setItemBg(true); mCardListAdapter.setItemBg(true);
mListView.setLayoutManager(new FastScrollLinearLayoutManager(this)); mListView.setLayoutManager(new FastScrollLinearLayoutManager(getContext()));
mListView.setAdapter(mCardListAdapter); mListView.setAdapter(mCardListAdapter);
Button btn_search = $(R.id.btn_search); Button btn_search = layoutView.findViewById(R.id.btn_search);
btn_search.setOnClickListener((v) -> showSearch(true)); btn_search.setOnClickListener((v) -> showSearch(true));
/* /*
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
...@@ -98,19 +98,19 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -98,19 +98,19 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
}); });
toggle.syncState(); toggle.syncState();
*/ */
mCardLoader = new CardLoader(this); mCardLoader = new CardLoader(getContext());
mCardLoader.setCallBack(this); mCardLoader.setCallBack(this);
mCardSelector = new CardSearcher($(R.id.nav_view_list), mCardLoader); mCardSelector = new CardSearcher(layoutView.findViewById(R.id.nav_view_list), mCardLoader);
mCardSelector.setCallBack(this); mCardSelector.setCallBack(this);
setListeners(); setListeners();
DialogPlus dlg = DialogPlus.show(this, null, getString(R.string.loading)); DialogPlus dlg = DialogPlus.show(getContext(), null, getString(R.string.loading));
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
DataManager.get().load(true); DataManager.get().load(true);
if (mLimitManager.getCount() > 0) { if (mLimitManager.getCount() > 0) {
mCardLoader.setLimitList(mLimitManager.getTopLimit()); mCardLoader.setLimitList(mLimitManager.getTopLimit());
} }
}).fail((e)->{ }).fail((e)->{
Toast.makeText(this, R.string.tip_load_cdb_error, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.tip_load_cdb_error, Toast.LENGTH_SHORT).show();
Log.e(IrrlichtBridge.TAG, "load cdb", e); Log.e(IrrlichtBridge.TAG, "load cdb", e);
}).done((rs) -> { }).done((rs) -> {
dlg.dismiss(); dlg.dismiss();
...@@ -121,16 +121,28 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -121,16 +121,28 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
intentSearch(intentSearchMessage); intentSearch(intentSearchMessage);
isInitCdbOk = true; isInitCdbOk = true;
}); });
showNewbieGuide(); //showNewbieGuide();
return layoutView;
} }
@Override @Override
protected void onRestart() { public void onFirstUserVisible() {
super.onRestart();
//数据库初始化完毕并且决斗助手的卡查关键字未被搜索过就卡查 }
if (isInitCdbOk && !currentCardSearchMessage.equals(duelAssistantManagement.getCardSearchMessage())) {
intentSearch(null); @Override
public void onUserVisible() {
} }
@Override
public void onFirstUserInvisible() {
}
@Override
public void onUserInvisible() {
} }
private void intentSearch(String searchMessage) { private void intentSearch(String searchMessage) {
...@@ -170,9 +182,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -170,9 +182,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
switch (newState) { switch (newState) {
case RecyclerView.SCROLL_STATE_IDLE: case RecyclerView.SCROLL_STATE_IDLE:
case RecyclerView.SCROLL_STATE_SETTLING: case RecyclerView.SCROLL_STATE_SETTLING:
if (!isFinishing()) {
GlideCompat.with(getContext()).resumeRequests(); GlideCompat.with(getContext()).resumeRequests();
}
break; break;
case RecyclerView.SCROLL_STATE_DRAGGING: case RecyclerView.SCROLL_STATE_DRAGGING:
GlideCompat.with(getContext()).pauseRequests(); GlideCompat.with(getContext()).pauseRequests();
...@@ -191,11 +201,10 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -191,11 +201,10 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
mDrawerlayout.closeDrawer(Gravity.LEFT); mDrawerlayout.closeDrawer(Gravity.LEFT);
return; return;
} }
finish();
} }
@Override @Override
protected void onDestroy() { public void onDestroy() {
mImageLoader.close(); mImageLoader.close();
super.onDestroy(); super.onDestroy();
} }
...@@ -236,12 +245,6 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -236,12 +245,6 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
mCardListAdapter.setLimitList(limitList); mCardListAdapter.setLimitList(limitList);
} }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.card_search2, menu);
return true;
}
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_search) {//弹条件对话框 if (item.getItemId() == R.id.action_search) {//弹条件对话框
...@@ -251,7 +254,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -251,7 +254,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
} }
@Override @Override
protected void onBackHome() { public void onBackHome() {
onBack(); onBack();
} }
...@@ -260,7 +263,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -260,7 +263,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
if (mDrawerlayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) { if (mDrawerlayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerlayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY); mDrawerlayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
} else { } else {
super.onBackPressed(); //super.onBackPressed();
} }
} }
...@@ -280,7 +283,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -280,7 +283,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
protected void showCard(CardListProvider provider, Card cardInfo, final int position) { protected void showCard(CardListProvider provider, Card cardInfo, final int position) {
if (cardInfo != null) { if (cardInfo != null) {
if (mCardDetail == null) { if (mCardDetail == null) {
mCardDetail = new CardDetail(this, mImageLoader, mStringManager); mCardDetail = new CardDetail(new BaseActivity(), mImageLoader, mStringManager);
mCardDetail.setCallBack((card, favorite) -> { mCardDetail.setCallBack((card, favorite) -> {
if(mCardSelector.isShowFavorite()) { if(mCardSelector.isShowFavorite()) {
mCardSelector.showFavorites(false); mCardSelector.showFavorites(false);
...@@ -304,7 +307,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -304,7 +307,7 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
}); });
} }
if (mDialog == null) { if (mDialog == null) {
mDialog = new DialogPlus(this); mDialog = new DialogPlus(getContext());
mDialog.setView(mCardDetail.getView()); mDialog.setView(mCardDetail.getView());
mDialog.hideButton(); mDialog.hideButton();
mDialog.hideTitleBar(); mDialog.hideTitleBar();
...@@ -338,11 +341,11 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -338,11 +341,11 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
} }
@Override @Override
protected void onStop() { public void onStop() {
super.onStop(); super.onStop();
CardFavorites.get().save(); CardFavorites.get().save();
} }
/*
//https://www.jianshu.com/p/99649af3b191 //https://www.jianshu.com/p/99649af3b191
public void showNewbieGuide() { public void showNewbieGuide() {
HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈 HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈
...@@ -382,5 +385,5 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB ...@@ -382,5 +385,5 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
) )
//.alwaysShow(true)//总是显示,调试时可以打开 //.alwaysShow(true)//总是显示,调试时可以打开
.show(); .show();
} }*/
} }
...@@ -31,7 +31,7 @@ import cn.garymb.ygomobile.bean.Deck; ...@@ -31,7 +31,7 @@ import cn.garymb.ygomobile.bean.Deck;
import cn.garymb.ygomobile.lite.BuildConfig; import cn.garymb.ygomobile.lite.BuildConfig;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.activities.BaseActivity; import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.cards.CardSearchActivity; import cn.garymb.ygomobile.ui.cards.CardSearchFragment;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.cards.deck.DeckUtils; import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
...@@ -140,8 +140,8 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -140,8 +140,8 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
@Override @Override
public void onCardSearch(String key, int id) { public void onCardSearch(String key, int id) {
if (id == ID_MAINACTIVITY) { if (id == ID_MAINACTIVITY) {
Intent intent = new Intent(this, CardSearchActivity.class); Intent intent = new Intent(this, CardSearchFragment.class);
intent.putExtra(CardSearchActivity.SEARCH_MESSAGE, key); intent.putExtra(CardSearchFragment.SEARCH_MESSAGE, key);
startActivity(intent); startActivity(intent);
} }
} }
......
...@@ -58,7 +58,6 @@ import cn.garymb.ygomobile.ui.activities.WebActivity; ...@@ -58,7 +58,6 @@ import cn.garymb.ygomobile.ui.activities.WebActivity;
import cn.garymb.ygomobile.ui.adapters.ServerListAdapter; import cn.garymb.ygomobile.ui.adapters.ServerListAdapter;
import cn.garymb.ygomobile.ui.adapters.SimpleListAdapter; import cn.garymb.ygomobile.ui.adapters.SimpleListAdapter;
import cn.garymb.ygomobile.ui.cards.CardDetailRandom; import cn.garymb.ygomobile.ui.cards.CardDetailRandom;
import cn.garymb.ygomobile.ui.cards.CardSearchActivity;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.mycard.MyCardActivity; import cn.garymb.ygomobile.ui.mycard.MyCardActivity;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
...@@ -96,7 +95,9 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -96,7 +95,9 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
initView(layoutView, savedInstanceState); initView(layoutView, savedInstanceState);
//event //event
EventBus.getDefault().register(this);//eventBus必须传this而不能是context if(!EventBus.getDefault().isRegistered(this)){//加上判断
EventBus.getDefault().register(this);
}
return layoutView; return layoutView;
} }
...@@ -331,7 +332,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -331,7 +332,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
quickjoinRoom(host, port, password); quickjoinRoom(host, port, password);
} }
} }
/*
public void onCardSearch(String key, int id) { public void onCardSearch(String key, int id) {
if (id == ID_HOMEFRAGMENT) { if (id == ID_HOMEFRAGMENT) {
Intent intent = new Intent(getContext(), CardSearchActivity.class); Intent intent = new Intent(getContext(), CardSearchActivity.class);
...@@ -339,7 +340,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -339,7 +340,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
startActivity(intent); startActivity(intent);
} }
} }
*/
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onServerInfoEvent(ServerInfoEvent event) { public void onServerInfoEvent(ServerInfoEvent event) {
...@@ -459,8 +460,9 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -459,8 +460,9 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
@Override @Override
public void onDestroy() { public void onDestroy() {
super.onDestroy(); if (EventBus.getDefault().isRegistered(this))//加上判断
EventBus.getDefault().unregister(this); EventBus.getDefault().unregister(this);
super.onDestroy();
} }
@Override @Override
...@@ -483,6 +485,16 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -483,6 +485,16 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
} }
@Override
public void onBackHome() {
}
@Override
public void onBackPressed() {
}
/** /**
* Called when a view has been clicked. * Called when a view has been clicked.
* *
...@@ -513,7 +525,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -513,7 +525,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
WebActivity.open(getContext(), getString(R.string.action_download_expansions), Constants.URL_YGO233_ADVANCE); WebActivity.open(getContext(), getString(R.string.action_download_expansions), Constants.URL_YGO233_ADVANCE);
break; break;
case R.id.action_card_search: case R.id.action_card_search:
startActivity(new Intent(getContext(), CardSearchActivity.class)); //startActivity(new Intent(getContext(), CardSearchActivity.class));
break; break;
case R.id.action_deck_manager: case R.id.action_deck_manager:
DeckManagerActivity.start(getContext(), null); DeckManagerActivity.start(getContext(), null);
......
...@@ -58,6 +58,16 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -58,6 +58,16 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
} }
@Override
public void onBackHome() {
}
@Override
public void onBackPressed() {
}
/** /**
* Called when a view has been clicked. * Called when a view has been clicked.
* *
......
...@@ -57,6 +57,16 @@ public class SettingsFragment extends BaseFragemnt implements View.OnClickListe ...@@ -57,6 +57,16 @@ public class SettingsFragment extends BaseFragemnt implements View.OnClickListe
} }
@Override
public void onBackHome() {
}
@Override
public void onBackPressed() {
}
/** /**
* Called when a view has been clicked. * Called when a view has been clicked.
* *
......
...@@ -44,7 +44,7 @@ import cn.garymb.ygomobile.bean.ServerInfo; ...@@ -44,7 +44,7 @@ import cn.garymb.ygomobile.bean.ServerInfo;
import cn.garymb.ygomobile.bean.ServerList; import cn.garymb.ygomobile.bean.ServerList;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.adapters.ServerListAdapter; import cn.garymb.ygomobile.ui.adapters.ServerListAdapter;
import cn.garymb.ygomobile.ui.cards.CardSearchActivity; import cn.garymb.ygomobile.ui.cards.CardSearchFragment;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.cards.deck.DeckUtils; import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import cn.garymb.ygomobile.ui.home.MainActivity; import cn.garymb.ygomobile.ui.home.MainActivity;
...@@ -371,9 +371,9 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList ...@@ -371,9 +371,9 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList
@Override @Override
public void onCardSearch(String key, int id) { public void onCardSearch(String key, int id) {
if (id == ClipManagement.ID_CLIP_LISTENER) { if (id == ClipManagement.ID_CLIP_LISTENER) {
Intent intent = new Intent(DuelAssistantService.this, CardSearchActivity.class); Intent intent = new Intent(DuelAssistantService.this, CardSearchFragment.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(CardSearchActivity.SEARCH_MESSAGE, key); intent.putExtra(CardSearchFragment.SEARCH_MESSAGE, key);
startActivity(intent); startActivity(intent);
} }
} }
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <LinearLayout
android:layout_width="190dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="5dp" android:layout_marginRight="5dp"
android:orientation="vertical"> android:orientation="vertical">
......
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
android:icon="@drawable/start" android:icon="@drawable/start"
android:title="@string/mc_home" android:title="@string/mc_home"
app:showAsAction="always" /> app:showAsAction="always" />
<item
android:id="@+id/cardSearcher_fragment"
android:icon="@drawable/search"
android:title="@string/search"
app:showAsAction="always" />
<item <item
android:id="@+id/mycard_fragment" android:id="@+id/mycard_fragment"
android:icon="@drawable/mycard" android:icon="@drawable/mycard"
......
...@@ -9,6 +9,10 @@ ...@@ -9,6 +9,10 @@
android:id="@+id/home_fragment" android:id="@+id/home_fragment"
android:name="cn.garymb.ygomobile.ui.home.HomeFragment" android:name="cn.garymb.ygomobile.ui.home.HomeFragment"
tools:layout="@layout/main_fragment" /> tools:layout="@layout/main_fragment" />
<fragment
android:id="@+id/cardSearcher_fragment"
android:name="cn.garymb.ygomobile.ui.cards.CardSearchFragment"
tools:layout="@layout/activity_search"/>
<fragment <fragment
android:id="@+id/mycard_fragment" android:id="@+id/mycard_fragment"
android:name="cn.garymb.ygomobile.ui.mycard.MycardFragment" android:name="cn.garymb.ygomobile.ui.mycard.MycardFragment"
......
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