2012-01-04 4 views
-3

このサンプルコードでは、私がextendsアクティビティを持つ別のクラスでこれを使用するとStartActivityがエラーを出しています。とにかく私は下のクラスでIntentを呼ぶことができますか?Androidコールインテント関数

public class animation extends View{ 
...................................................... 
Intent openStartingPoint = new Intent("com.mypackage.na.SELECT"); 
startActivity(openStartingPoint); 
} 
+1

例外のどのような種類がスローされますか? startActivity()はどこから呼び出しますか?あなたの質問をより具体的に記述してください。 – Egor

+1

startActivity()は、クラスコンテナからではなくメソッドから呼び出され、Contextクラスのメソッドであり、そこからViewは祖先ではありません – Davos555

答えて

1

新しいActivityを開始するには、Context、またはContextに対応するクラスが必要です。あなたがそのViewContextを使用することができView拡張するクラスから活動を開始するには、あなたの場合:

getContext().startActivity(new Intent("com.mypackage.na.SELECT")); 
2

startActivity()Contextクラスのメソッドです。たとえば、ActivityクラスのようにContextクラスを拡張するオブジェクトが必要になります。したがって、このメソッドを呼び出すには、Contextオブジェクトをアニメーションクラスに渡す必要があります。

0

startActivity()は常に上記のように1つのコンテキストクラスを拡張するオブジェクトをとります。ですから、startActivity()と次のクラス名に対して1つのオブジェクト引数を渡す必要があります。

関連する問題