このメソッドは、タグデータを受け取り、それを別のアクティビティに送信します。
このメソッドをデバッガでステップ実行すると、値が期待通りであることがわかります。タグからのデータが新しいアクティビティに正しく渡されない
public void ShowView(TextView tv, ImageView iv) {
Intent intent = new Intent(this, DisplaySeekAgain.class);
String text_tag = tv.getTag().toString();
String image_tag = iv.getTag().toString();
intent.putExtra(EXTRA_NAME, text_tag); //example: "Joe Brown"
intent.putExtra(EXTRA_IMAGE, image_tag); //example: "profilePic1"
startActivity(intent);
}
期待値は罰金です:
- text_tag: "ジョー・ブラウン"
- IMAGE_TAG: "profilePic1"
はしかし、新しい活動で、text_tag値になりますimage_tag値
public class DisplaySeekAgain extends AppCompatActivity {
private GoogleApiClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_NAME); //example: "profilePic1"
String image = intent.getStringExtra(MainActivity.EXTRA_IMAGE); //example: "profilePic1"
期待値が間違っている:
- メッセージ= "profilePic1" 私は "メッセージ" 文字列である理由はわからない= "profilePic1"
私のコードで何かしていることがありますか?
実際に 'EXTRA_NAME'と' EXTRA_IMAGE'を表示した方が助けが簡単です。しかしそれらはまったく同じように見えます。 –
あなたはこの2つの変数を持つべきです: 'public static final String EXTRA_NAME =" extra-name "と' public static final String EXTRA_IMAGE = "extra-image"。これらの2つの文字列の値を確認してください。値は異なる必要があります。 – jemsnaban