这必须是一个非常简单的答案。我一直在搜索和搜索如何将变量与Java中的字符串进行比较。我有一个意图,只想要宣布一些变数,如果来自意图的数据匹配。这当然不会那么难。 Java让我很沮丧。 :) 我知道这种类型将在某些时候等于消息,但它不起作用。 例如Android - 从意图比较字符串
String type = intent.getStringExtra("type");
if(type.equals("message")){
String msg = intent.getStringExtra("message");
String avatar = intent.getStringExtra("photo");
count = Integer.parseInt(intent.getStringExtra("count"));
Bitmap photo = getBitmapFromURL(avatar);
String theMessage = Html.fromHtml(msg).toString().replace("\\", "");
}
编辑:
我做输出类型登录的建议,它并显示message
像它应该。我试图给我们相同的变量theMessage
和photo
,但它抱怨说它没有声明,所以它会提示修复并将其置于顶端。这是什么导致它不起作用?这是一个通知。
private static String theMessage = null;
private static Bitmap photo = null;
我尝试在代码中稍后执行此操作,但它抱怨未声明。
if(type.equals("message")){
notification.setSubText(theMessage);
notification.setLargeIcon(photo);
}
这就是我所拥有的,即使没有声明的错误消失后,它仍然不起作用。
String type = intent.getStringExtra(“type”);尝试记录您获得的值。 – Triode
您的字符串比较没问题。不幸的是,你甚至没有说出什么不适合你。有一件事是肯定的,你的代码不健壮;例如如果意图中没有“类型”额外的内容,您的应用程序将崩溃。 –
支持@ ClassStacker的评论:这是值得颠倒的方法调用:'“message”.equals(type)'以防止NPE('NullPointerException')。调用一个'String'常量的方法可能会更令人困惑,但这样做很有用(如果过于混淆,请提取常量/ static final String)。 – TWiStErRob