もう一つの初心者アンドロイドの質問...Androidの意図はデータをアクティビティに渡します - これは正しいですか?
私は、introductionというアクティビティにImageViewを持っています。フライングジェスチャーに応じてこのImageViewの画像を変更したいと思います。情事の検出が正常に動作している、私はそれは原始的であるが、文字列「左」または「右」は情事ジェスチャにRaiseIntentに渡され
private void RaiseIntent(String direction)
{
Intent intent = new Intent(DemoApp.getAppContext(), Introduction.class);
intent.putExtra("direction", direction);
String category = DemoApp.getAppContext().getString(R.string.introduction_imageview_fling);
intent.addCategory(category);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
DemoApp.getAppContext().startActivity(intent);
}
を呼び出し
public class FlingGestureListener extends GestureDetector.SimpleOnGestureListener
を持っています。
概要は、ImageViewがそのビュー内に座っているアクティビティです。私が持っているこの活動のためのアプリマニフェストで
:だから
<activity android:name=".Activities.Introduction">
<intent-filter>
<category android:name="@string/introduction_imageview_fling"/>
</intent-filter>
</activity>
、導入活動で、私は今、履歴書に、
getIntent
を呼び出すことができ、putExtraから方向性を引き出します。人生はいいです、私はImageViewに次に読み込む画像を教えてくれる価値に頼ることができます。
私の問題は、私のアンドロイドの知識がここに表示されることがあります、これは汚い感じです。
私はOnResumeのインテント自体をチェックして、カテゴリが@ string/introduction_imageview_flingであることを確認してから、データを引き出す必要があります。 onResumeは、onCreateが呼び出された後に、ジェスチャーがアクティビティの内側から消されるので、onCreateを呼び出されます。しかし、再び、それは私に汚れているように感じます!これは本当にSimpleOnGestureListenerのデータをアクティビティに戻すための最良の方法ですか?私は何か基本的なものを逃している?
おかげ
このコードはすべてあなたのはじめのアクティビティにありますか、別のアクティビティにある画像を変更しようとしていますか? – Gregory
imageViewは、同じ紹介アクティビティのビューにあります。インテントを呼び出すFlingGestureListenerは、別のクラスにあります。 – Jammin
他のクラスがあなたのアクティビティを参照することができます(セッターなどを使用して)。アクティビティで "setBlablaImage"のように呼び出すと、imageView自体が変更されます。あなたの場合、インテントを使用するのは適切ではないようです。 – Gregory