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 中禁用它