如何使用好 Fragment
如何使用好Fragment?
app UI开发确实不是自己的长处,但是,从产品化的角度看,又必须学习之,并且举一反三用好,
仅记录自己如何使用Fragment。以此记录,了解其基础及本质、希望深入回答activity fragment floatview的交替使用
在资源、效率、场景中使用
如何使用好Fragment? app UI开发确实不是自己的长处,但是,从产品化的角度看,又必须学习之,并且举一反三用好, 仅记录自己如何使用Fragment。以此记录,了解其基础及本质、希望深入回答activity fragment floaTextiew的交替使用 在资源、效率、场景中使用 package com.example.mainactivity; import android.annotation.SuppressLint; import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.TexTextiew; public class MainActivity extends Activity { final String TAG = "carl_MainActivity"; TexTextiew mFragment1Text ; TexTextiew mFragment2Text ; TexTextiew mFragment3Text ; FrameLayout mainll ; FragmentManager manager ; FragmentTransaction transaction; Fragment1 fragment1 = null; Fragment2 fragment2 = null; Fragment3 fragment3 = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContenTextiew(R.layout.activity_main); // transaction = manager.beginTransaction(); iniTextiew(); initListener(); initData(); Log.d(TAG,"onCreate"); } private void initListener() { mFragment1Text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.d(TAG,"mFragment1Text"); FragmentTransaction transaction = manager.beginTransaction(); if (fragment2 != null ) { Log.d(TAG,"mFragment1Text 1 "); transaction.hide(fragment2); } if (fragment3 != null ) { Log.d(TAG,"mFragment1Text 2 "); transaction.hide(fragment3); } if (fragment1 == null ) { Log.d(TAG,"mFragment1Text 3 "); fragment1 = new Fragment1(); transaction.add(R.id.main_ll, fragment1,"3");; }else { Log.d(TAG,"mFragment1Text 4 "); transaction.show(fragment1); } Log.d(TAG,"mFragment1Text 5 "); transaction.commit(); } }); mFragment2Text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.d(TAG,"mFragment2Text"); FragmentTransaction transaction = manager.beginTransaction(); if (fragment1 != null ) { Log.d(TAG,"mFragment2Text 1 " ); transaction.hide(fragment1); } if (fragment3 != null ) { Log.d(TAG,"mFragment2Text 2 "); transaction.hide(fragment3); } if (fragment2 == null ) { Log.d(TAG,"mFragment2Text 3"); fragment2 = new Fragment2(); transaction.add(R.id.main_ll, fragment2,"2");; }else { Log.d(TAG,"mFragment2Text 4 "); transaction.show(fragment2); } Log.d(TAG,"mFragment2Text 5 "); transaction.commit(); } }); mFragment3Text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.d(TAG,"mFragment3Text"); FragmentTransaction transaction = manager.beginTransaction(); if (fragment3 != null ) { Log.d(TAG,"mFragment3Text 1 "); transaction.hide(fragment3); } if (fragment2 != null ) { Log.d(TAG,"mFragment3Text 2 "); transaction.hide(fragment2); } if (fragment3 == null ) { Log.d(TAG,"mFragment3Text 3 "); fragment3 = new Fragment3(); transaction.add(R.id.main_ll, fragment3,"3");; }else { Log.d(TAG,"mFragment3Text 4 "); transaction.show(fragment3); } Log.d(TAG,"mFragment3Text 5 "); transaction.commit(); } }); } private void initData() { manager = this.getFragmentManager(); } private void iniTextiew() { mFragment1Text = (TexTextiew) findViewById(R.id.fragment1_Text); mFragment2Text = (TexTextiew) findViewById(R.id.fragment2_Text); mFragment3Text = (TexTextiew) findViewById(R.id.fragment3_Text); mainll = (FrameLayout) findViewById(R.id.main_ll); } @Override protected void onStart() { super.onStart(); Log.d(TAG,"onCreate"); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG,"onRestart"); } @Override protected void onResume() { super.onResume(); Log.d(TAG,"onResume"); } @Override protected void onPause() { super.onPause(); Log.d(TAG,"onPause"); } @Override protected void onStop() { super.onStop(); Log.d(TAG,"onStop"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG,"onDestroy"); } }