我試圖通過由Hashmap所做的IntentExtra調整「if」基於來自另一活動的值。情況;(Android)通過Hashmap檢查IntentExtra的值
一個Java類
的Hashmap
插入發送意圖的意圖外
將一個值在字符串
值
B Java類
獲得額外的意向
使用 「如果」 知道哪個值handedover投入額外的字符串
檢查。
問題是最後一個。
B活動的代碼就是這樣。
Intent intent = getIntent();
String mapKey;
mapKey = intent.getStringExtra(MAPMARKER);
Toast.makeText(getApplicationContext(),mapKey,Toast.LENGTH_SHORT).show();
if(mapKey == "Donhawmun") {
Toast.makeText(getApplicationContext(),"SUCCESS",Toast.LENGTH_SHORT).show();
pager = (ViewPager) findViewById(R.id.image_pager);
readingpart = (TextView) findViewById(R.id.readingPart);
DonImageClass adapter = new DonImageClass(getLayoutInflater());
pager.setAdapter(adapter);
readingpart.setText(R.string.Don);
}else if(mapKey == "Geumcheongyo"){
Toast.makeText(getApplicationContext(),"SUCCESS",Toast.LENGTH_SHORT).show();
pager = (ViewPager) findViewById(R.id.image_pager);
readingpart = (TextView) findViewById(R.id.readingPart);
GeumImageClass adapter = new GeumImageClass(getLayoutInflater());
pager.setAdapter(adapter);
readingpart.setText(R.string.Geum);
}
通過第一個「吐司」是好的,所以它舉辦了一個信息「Donhawmun」。
但它不符合文字「Donhawmun」。
我不知道它是否有問題與文本直接匹配,我做了另一個字符串「Donhawmun」,並把它放在「如果」句子來比較它。但它沒有奏效。我不確定它已經將mapKey的值顯示爲「Donhawmun」,但爲什麼它與句子中的「Donhawmun」不匹配。請幫助我有任何想法的人。先謝謝你。
不要使用(==)運算符。它由equals()或equalsIgnoreCase()方法完成。你的代碼看起來像if(mapKey.equals(「Donhawmun」)) –