ハッシュマップによって作成されたIntentExtraを使って、別のアクティビティから値のベースを調整しようとしています。状況;(Android)ハッシュマップで作成されたIntentExtraの値を確認してください
A 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"を作成し、それを比較する "if"文に入れているのだろうか。しかし、それは動作しませんでした。私はそれがすでに "Donhawmun"としてmapKey値を表示しているのかどうかはわかりませんが、if文で "Donhawmun"と一致しなかったのはなぜですか?アイデアを持っている人を助けてください。前もって感謝します。
を試してみてください。それはequals()またはequalsIgnoreCase()メソッドによって行われます。コードは次のようになります(mapKey.equals( "Donhawmun")) –