gpt4 book ai didi

java - Android - Bundle.putString ("anything") 添加字符串失败

转载 作者:行者123 更新时间:2023-11-30 11:06:47 27 4
gpt4 key购买 nike

我正在 Android Studio 1.1.0 中处理 Android 项目,我无法将消息传递给具有 Bundle 类的处理程序。

好吧,这是我的代码

...
Bundle mUIMessageBundle = new Bundle(newUser.getName());
mUIMessageBundle.putInt("Name", newUser.getName());
mUIMessageBundle.putString("Tag", null);
handler.sendMessage(new android.os.Message());
...

newUser 定义明确,但我对 putInt 和 putString 方法有疑问。这些方法执行得很好,但是当我在处理程序 getInt 和 getString 中读取消息时返回 null。所以我调试了一下,所附的图片会告诉你问题所在。添加了值键对,但在它们的值位置上是这样的异常(exception):

java.lang.ClassNotFoundException: Didn't find class "Object" on path: DexPathList[[zip file "/data/app/com.example.mile.voicenc-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.mile.voicenc-1, /vendor/lib, /system/lib]] 

我研究了很多,但我找不到解决方案...

所有建议都会很好,谢谢!

编辑 1:

最后,我尝试打开全新的空白项目,并为 intent init 添加了两行:

...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Intent intent = new Intent("make.your.own.intent");
intent.putExtra("Name", "asd");
}
...

而空白项目中的这段代码返回了完全相同的异常。这让我发疯......

有什么想法吗?谢谢

最佳答案

看起来您实际上并没有在发送之前将 bundle 附加到消息中。此外,调用 Handler.obtainMessage() 获取消息,不要使用 new 创建它:

Bundle mUIMessageBundle = new Bundle(newUser.getName());
mUIMessageBundle.putInt("Name", newUser.getName());
mUIMessageBundle.putString("Tag", null);
Message msg = handler.obtainMessage(); // get a message
// msg.what = 1; // set type of message
msg.setData(mUIMessageBundle); // attach bundle
handler.sendMessage(msg);

关于java - Android - Bundle.putString ("anything") 添加字符串失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29187427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com