Android中,FragmentTransaction类的replace()方法的作用是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中,FragmentTransaction类的replace()方法的作用是啥?相关的知识,希望对你有一定的参考价值。

对于fragment的使用就我所知就我会的只有两种吧,一种是add方式来进行show和add,这种方式你切换fragment不会让fragment重新刷新,而用replace方式会使fragment重新刷新,因为add方式是将fragment隐藏了而不是销毁再创建,replace方式每次都是重新创建。具体我们还是看代码来说吧,这种基础的东西看看代码就懂了。 参考技术A 您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!Fragment newFragment = newExampleFragment(); FragmentTransaction transaction =getFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container,newFragment); transaction.commit(); 那你直接替换viewpager里面的v非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢! 参考技术B 将旧的fragment从栈中移除并替换为新的fragment!

(Android) 在内部存储中查找路径 /Android

【中文标题】(Android) 在内部存储中查找路径 /Android【英文标题】:(Android) Find path /Android in internal storage 【发布时间】:2016-09-26 14:59:54 【问题描述】:

Android中是否有返回内部存储数据路径的方法?

我有 2 部 Android 智能手机(Samsung s2 和 s7 edge),我安装了一个应用程序。我想采用位于此路径中的 sqliteDB:

/Android/data/application.most/files/most_db

问题是在三星 s2 中我必须使用这条路径来获取数据库:

private static final String db_path = "/storage/sdcard0/Android/data/org.application/files/application_db";

Instaed,在 s7 中我必须使用这个:

private static final String db_path = "/storage/emulated/0/Android/data/application.most/files/application_db";

我想通过设备独立走这条路。

你能帮帮我吗?

提前致谢。

【问题讨论】:

【参考方案1】:

基本上你想访问应用程序外部目录。 IE。 "sdcard/Android/data/yourPackage/files"

您应该使用: Context 类的getExternalFilesDir(null) 方法。

private static final String db_path = getExternalFilesDir(null).getAbsolutePath() + "/application_db";

或者您可以直接获取文件实例,例如:

File file = new File(getExternalFileDir(null),"application_db");

确保您在清单中添加 WRITE_EXTERNAL_STORAGE 权限。

您可以在以下网址阅读更多相关信息: https://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

【讨论】:

【参考方案2】:

一旦在不同版本中更改您的逻辑.. 直到 android 4.xx 它以内部存储器为/storage/sdcard0/ 从 4.4 kitKat 开始,路径为/storage/emulated/0/

设计 multiple apk 取决于 android API 版本...

您的问题已解决..您可以使用该路径将其安装在 s2 中,使用该路径将其安装在 S7 中...

【讨论】:

【参考方案3】:

我认为您正在寻找的是类似的东西

String path = getFilesDir().getAbsolutePath();

【讨论】:

getFilesDir() 在哪个包中? 任何“上下文”包都适合,无论它是应用程序/活动/片段等。

以上是关于Android中,FragmentTransaction类的replace()方法的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

将新片段添加到后台堆栈是不是会暂停当前片段?

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

在 Android 4 中启用 android:largeHeap,在 Android 2.3 中禁用它

Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?

如何在Android中启动JAVA程序