Android - Bundle.putString("anything") 添加字符串失败
Android - Bundle.putString("anything") fails to add string
我正在 Android Studio 1.1.0 中处理 Android 项目,但我无法使用 Bundle class 将消息传递给处理程序。
嗯,这是我的代码
...
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 return null 中读取消息时。所以我调试了一下,所附的图片会告诉你问题所在。添加了值键对,但在它们的值位置上是这样的例外:
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");
}
...
空白项目中的这段代码return产生了完全相同的异常。这让我发疯...
有什么想法吗?谢谢
看起来您实际上并没有在发送邮件之前将邮件附加到邮件中。另外,调用 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);
我正在 Android Studio 1.1.0 中处理 Android 项目,但我无法使用 Bundle class 将消息传递给处理程序。
嗯,这是我的代码
...
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 return null 中读取消息时。所以我调试了一下,所附的图片会告诉你问题所在。添加了值键对,但在它们的值位置上是这样的例外:
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");
}
...
空白项目中的这段代码return产生了完全相同的异常。这让我发疯...
有什么想法吗?谢谢
看起来您实际上并没有在发送邮件之前将邮件附加到邮件中。另外,调用 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);