Activity及Fragment之间的跳转
直接跳转
基本使用方法
public class MainActivity extends AppCompatActivity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); } public voID jump(VIEw vIEw) { Intent intent = new Intent(this,VIDeoPlayActivity.class); intent.putExtra("vIDeo_ID","1"); startActivity(intent); }}
public class VIDeoPlayActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_vIDeo_play); Intent intent = getIntent(); }}
借助工具类
然而并没什么卵用
public static voID startActivity(Context context,Class clazz,Bundle data) { Intent intent = new Intent(context,clazz); if(data != null){ intent.putExtras(data); } context.startActivity(intent);}
推荐方案
把new Intent()放在目标Activity,这样可以onCreate里的getIntent形成对应 更容易理解和管理一个出口,多个入口的情况 较方便维护传递数据的key和value(即key由目标Activity来定义,value是实际的来源)public class MainActivity extends AppCompatActivity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); } public voID jump(VIEw vIEw) { startActivity(VIDeoPlayActivity.newIntent(this,"1")); }}
public class VIDeoPlayActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_vIDeo_play); } public static Intent newIntent(Context context,String vID) { Intent intent = new Intent(context,vID); return intent; }}
Fragment跳转
首先需要一个空的构造方法,Fragment恢复重建要使用。 使用newInstance代替构造方法传参 在Fragment.onCreate方法获取实参public class MainFragment{ public MainFragment() { // required empty public constructor } public static MainFragment newInstance(int pos) { MainFragment fragment = new MainFragment(); Bundle args = new Bundle(); args.putInt("pos",pos); fragment.setArguments(args); return fragment; } @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { pos = getArguments().getInt("pos"); } }}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
总结以上是内存溢出为你收集整理的Android Activity与Fragment之间的跳转实例详解全部内容,希望文章能够帮你解决Android Activity与Fragment之间的跳转实例详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)