2011-06-29 12 views
0

私はイメージギャラリーを持っており、それぞれのイメージはニュースです。だから私は画像をクリックし、その画像のクラスを開いてそのニュースを表示したいと思う。私のコードは:android imageview onclickリスナー

で、intent intent1 = new Intentそれは私にエラーを与え、それはこの部分を意図に変更するintent1 =新しいIntent();

それでは、どのように私はIntent intent1 = new Intent(this, ResimHaberGoster.class);thisでギャラリーに

THANKS

答えて

1

を使用することができます

Intent intent1 = new Intent(YourActivity.this, ResimHaberGoster.class); 

説明:あなたは、あなたの意思にthisを渡す

thisは、実際のonItemClickListenerインスタンスの参照であり、yの参照ではありません私たちの活動。したがって、あなたの意図に渡すコンテキストが実際のアクティビティのインスタンスであることをプログラムに伝えるには、YourActivity.this

と申し訳ありません。

はそれが役に立てば幸い:)

3

をクリックして、新しいクラスに行くべきではOnItemClickListenerオブジェクトを示します。代わりに、アクティビティのコンテキストが必要です。あなたの現在の活動が

+0

加えて、あなたがgetApplicationContextを(呼び出すことによって、アプリケーション・コンテキストを提供することができます)これに代えて(これはActivityクラス内のメソッドです)。ビューとアダプターの場合、コンテキストを渡す必要があります。 – DArkO

+0

私は、onClickListenerのアプリケーションコンテキストを使用しない方が良いと思います。理由は、Viewのコンストラクタで使用しないのと同じです – pankajagarwal

1

フリーザが絶対的に正しいですあなたの意思コンストラクタの中で、代わりにthis使用MyActivity.thisの、MyActivityであると言います。これで

Intent intent1 = new Intent(this, ResimHaberGoster.class); 

:あなたはまた、これを変更しようとすると、あなたのコードでgetApplicationContext()