あなたが問題の中にいるViewクラスについてのあなたの評価は正しいです。それを機能させるには、次のようにします。
Intent i = new Intent(NameOfYourActivity.this, cYesNoDisplay.class);
[NameOfYourActivity] を、あなたが参加しているアクティビティの名前に置き換えます。
編集:あなたがしていたことを誤解したかもしれません。実際に独自の View クラスを構築し、onTouch() をオーバーライドしている場合は、実際には少し異なる方法で行う必要があります。
まだ持っていない場合は、次を追加します。
Context ctx;
あなたのクラス宣言に。
コンストラクターで、宣言した ctx 参照にパラメーターとして渡されるコンテキストを格納するように変更します。
public [ClassName] (Context c){
this.ctx = c;
}
次に、 onTouch() 内で次のようにします。
Intent i = new Intent(ctx, cYesNoDisplay.class);
ctx.startActivity();
再度編集:使用する必要がある理由ctx.startActivity(i);
は、startActivity() が Context のメソッドであるためです。アクティビティは コンテキストであるため、アクティビティ内から呼び出すときに、その前に何も配置する必要はありません。ただし、別のクラスの「内部」にいる場合は、コンテキストへの参照を使用してメソッドを呼び出す必要があります。