问题标签 [android-bundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - getArguments().getString 在我的 Fragment 中总是返回 null
我有以下问题。我想保存一些TextView
s 的值,以便在重新返回到 this 后可以检索和显示它们Fragment
(我使用replace()
切换Fragment
s 的方法)。我遵循了这个POST的建议,所以我的代码现在看起来像这样:
问题是返回后Fragment
调用了refreshUI方法,但是loadedLatitude
和loadedLongitude
String
s总是null
. 我究竟做错了什么?
java - 无法读取另一个可打包对象中的可打包对象
我有一个Prescription
s 类,其中包含Medication
、Doctor
和Pharmacy
. 这些类中的每一个都实现Parcelable
了,以便它们可以在Bundle
.
对于药物,医生和药房,我没有任何麻烦。然而,对于 Pharmacy 来说,事情变得有点棘手,因为它的字段是对象,这些对象也实现了 parcelable。为了编写对象,我使用了从这个问题中获得的以下代码:
而Creator
用于阅读处方的写法是这样的:
当我尝试从 Bundle 中读取 Prescription 对象时,它会返回一个 Prescription 对象,其中 Med/Doctor/Pharm 的值为空,并且非常模糊的 Id 和 Quantity 值。我不知道为什么。什么会导致这些值为空?
这是实现:
同样,我在其他类上使用了相同的方法,没有任何问题,但这不适用于Prescription
. 我怀疑是因为它有 Parcelable 字段。
java - 使用从 Activity 传递的数据更新 Fragment UI
我的要求:
我MainActivity
从其他应用程序接收数据。MainActivity
被列为shareable
。
现在,我需要将此数据传递给fragment
inMainActivity
并更新fragment's
textview
.
在MainActivity.java :这里我在handleSendText
方法中处理接收到的数据(这是一个 URL)。
在handleSendText
中,我正在尝试创建一个包并将该数据传递给我的片段。
在Fragment 类中:在其 onCreateView()
1)问题是控件永远不会到达if
循环内部,这意味着bundle
总是返回NULL
。
2)此外,如果我没有收到来自其他应用程序的数据。我想editText
留空,所以我必须执行此检查。我怎样才能做到这一点?
3)此外,从setArgument
的文档中,我了解到应该在片段附加到其活动之前调用它。那么如何在 Fragment 的 UI 中体现变化呢?
公共无效 setArguments(捆绑参数)
提供此片段的构造参数。这只能在片段附加到其活动之前调用;也就是说,您应该在构建片段后立即调用它。此处提供的参数将在片段销毁和创建过程中保留。
android - 为什么在调试时 intent.getExtras().mMap 为空?
我有一个像这样的广播接收器:
AndroidManifest.xml:
我用它来收听短信。当我尝试向此手机发送消息时,它会打印 key set [format, pdus, slot, phone, subscription]
。
但是当我调试它并将断点设置在 时System.out.println...
,我发现它intent.mExtras.mMap
是空的。为什么是这样?在调试过程中如何检查意图中的地图项目?
android - 如何传递 ArrayAdapter从 Activity 到 Fragment
我有一个包含 1 个活动和 3 个片段的应用程序。
在活动中,我有一个适配器,我在其中存储日志消息 -
MainActivity.java(用字符串保存适配器):
我想在我的第一个片段中使用那个适配器 -
MainFragment.java(应该显示一个带有日志字符串的列表):
不幸的是,这不起作用(应用程序崩溃)。
我也尝试向 Fragment 添加一个公共方法并在 Activity 中调用它 - 但随后mLogList
为 null 并且我得到 NPE(因为mLogList
稍后创建 - 不是在构造函数中,而是在onCreateView
方法中):
MainActivity.java:
MainFragment.java:
请告知如何将我的适配器传递给片段。
更新:
我尝试了 Exception Lover 的建议(感谢 +1),但收到此错误:
Bundle 类型中的 putParcelableArrayList(String, ArrayList) 方法不适用于参数 (String, ArrayAdapter)
而且我不确定我应该采用哪些快速修复建议:
另外我想知道,为什么不能使用——在将数据从 Activity 传递到 Fragment 时,savedInstanceState
我真的需要创建一个新对象吗?Bundle
java - 将图像放入 Bundle
如何将相机捕获的图像保存在一个包中并将其移动到第二个活动?我在这里做错了什么?
android - 拍摄照片后无法从相机接收 Intent.extras()
我发现捕获照片和接收全尺寸照片而不是缩略图是一个常见问题(根据:http: //developer.android.com/training/camera/photobasics.html)。拍照和接收缩略图很容易,但教程的其余部分似乎不完整且无法正常工作。有人用简单的方法解决了吗?
}
android - 将肥皂对象投射到捆绑
我是android应用程序开发的新手,我正在尝试使用意图将MainActivity中的SoapObject发送到第二个Activity,方法是将soapObject放入Bundle中。我收到一个错误:
无法将 SoapObject 转换为 Bundle
有没有可能将 SoapObject 发送到第二个活动的方法?
android - viewpager savedinstancestate 中的片段始终为空
我知道以前有人问过这个问题,但到目前为止给出的答案对我没有任何帮助。
我有一个 viewpager,其中填充了来自 FragmentStatePagerAdapter 的片段(android.support.v4.app.Fragment)。其中一些片段包含在方向更改时需要保留的逻辑,例如跟踪当前选择的视图。
但是,尽管我将相关数据保存在 onSaveInstanceState 中,但 savedInstanceState 始终为空。我可以通过将数据存储在一个静态变量中来解决这个问题(因为我每个片段只有一个实例对我有用)但我发现这是一个非常丑陋的解决方案,并且必须有一个正确的方法来做到这一点。
这是在旋转时不保留其状态的片段之一:
如何解决这个问题而不必将我的状态保存在静态变量中?
编辑
我应该指出,所有片段都是以编程方式创建的,因此它们没有 id,我读到这可能是问题,但我也不知道如何解决。
我的应用程序也是这样的结构:
- 带有 NavigationDrawer 的 MainActivity
- 片段1
- 浏览器
- 子片段1 - 子片段5
- 浏览器
- 片段2
- 片段3
- 片段1
我遇到问题的片段是子片段。
android - 恢复片段上的捆绑信息的正确方法和位置?
我已经Bundle
在几个 Android 回调方法中看到了 s 的恢复,但在许多情况下,在开发者Bundle
网站上手动创建和设置s ,在这种情况下来自创建时的外部消息:Fragment
例如,在 this other question中,在方法中恢复了捆绑数据onCreateView()
。
我对Bundle
每个回调方法与“其他包”提供的数据有点困惑:
以及检索这些不同类型的捆绑数据的正确方法和位置。
提前致谢!