package com.zkyit.fragmentframework;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.widget.Toast;
import com.zkyit.fragmentframework.fragment.DetailFragment;
import com.zkyit.fragmentframework.fragment.DetailFragment.onDetailFragmentCallback;
import com.zkyit.fragmentframework.fragment.ListFragment;
import com.zkyit.fragmentframework.fragment.ListFragment.onListFragmentCallback;
import com.zkyit.fragmentframework.fragment.OtherFragment;
import com.zkyit.fragmentframework.fragment.OtherFragment.onOtherFragmentCallback;
import com.zkyit.fragmentframework.fragment.ShareFragment;
import com.zkyit.fragmentframework.fragment.ShareFragment.onShareFragmentCallback;
/**
* 主界面Activity,要控制哪个Fragment,就实现哪个Fragment的回调接口,
* 案例中实现了onListFragmentCallback,
* onDetailFragmentCallback, onShareFragmentCallback,
* onOtherFragmentCallback这几个接口,
* 接下来就可以在各自的回调方面中控制对应的Fragment,
* 其它Activity如果要控制某个Fragment,可直接实现其对应的回调接口,
* 在对应的回调方法中写控制逻辑就可以了
*
* */
@SuppressLint("NewApi")
public class MainActivity extends Activity implements onListFragmentCallback,
onDetailFragmentCallback, onShareFragmentCallback,
onOtherFragmentCallback {
private FragmentManager mFragmentManager;
private FragmentTransaction mFragmentTransaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
addDefaultFragment();
}
}
@Override
public void onListCallback() {
repalceDetailFragment();
}
@Override
public void onDetailCallback() {
repalceShareFragment();
}
@Override
public void onShareCallback() {
repalceOtherFragment();
}
@Override
public void onOtherCallback() {
repalceListFragment();
}
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.commit();
getActionBar().setLogo(R.drawable.icon4);
setTitle(getResources().getString(R.string.other_icon_desc));
Toast.makeText(this,
getResources().getString(R.string.other_icon_desc), 0).show();
}
}