package com.king.tv.mvp.activity; import android.content.Intent; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActivity; import com.king.base.util.LogUtils; import com.king.tv.Constants; import com.king.tv.R; import com.king.tv.mvp.fragment.AboutFragment; import com.king.tv.mvp.fragment.FullRoomFragment; import com.king.tv.mvp.fragment.LiveFragment; import com.king.tv.mvp.fragment.LoginFragment; import com.king.tv.mvp.fragment.RoomFragment; import com.king.tv.mvp.fragment.SearchFragment; import com.king.tv.mvp.fragment.WebFragment; /** * @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a> * @since 2017/2/20 */ public class ContentActivity extends AppCompatActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content); swichFragment(getIntent()); } public void swichFragment(Intent intent){ int fragmentKey = intent.getIntExtra(Constants.KEY_FRAGMENT,0); switch (fragmentKey){ case Constants.ROOM_FRAGMENT: replaceFragment(RoomFragment.newInstance(intent.getStringExtra(Constants.KEY_UID))); break; case Constants.LIVE_FRAGMENT: { String title = intent.getStringExtra(Constants.KEY_TITLE); String slug = intent.getStringExtra(Constants.KEY_SLUG); boolean isTabLive = intent.getBooleanExtra(Constants.KEY_IS_TAB_LIVE, false); replaceFragment(LiveFragment.newInstance(title, slug, isTabLive)); break; }case Constants.WEB_FRAGMENT: { String title = intent.getStringExtra(Constants.KEY_TITLE); String url = intent.getStringExtra(Constants.KEY_URL); replaceFragment(WebFragment.newInstance(url, title)); break; }case Constants.LOGIN_FRAGMENT: replaceFragment(LoginFragment.newInstance()); break; case Constants.ABOUT_FRAGMENT: replaceFragment(AboutFragment.newInstance()); break; case Constants.FULL_ROOM_FRAGMENT: String uid = intent.getStringExtra(Constants.KEY_UID); String cover = intent.getStringExtra(Constants.KEY_COVER); replaceFragment(FullRoomFragment.newInstance(uid,cover)); break; case Constants.SEARCH_FRAGMENT: replaceFragment(SearchFragment.newInstance()); break; default: LogUtils.d("Not found fragment:" + Integer.toHexString(fragmentKey)); break; } } public void replaceFragment(Fragment fragmnet){ replaceFragment(R.id.fragmentContent,fragmnet); } public void replaceFragment(@IdRes int id, Fragment fragment) { getSupportFragmentManager().beginTransaction().replace(id, fragment).commit(); } }