を使用してビュー クラス (MyView1) を開始するアクティビティ (MyActivity1) があります。setContentView();
MyView1 では、キャンバスでいくつかの描画を行った後、MyActivity1 に戻れるようにしたいと考えています。MyView1.this.setVisibility(View.INVISIBLE)
または試してみView.GONE
ましたが、これらは画面を空白にするだけです。
私も試し((Activity)getContext()).finish();
ましたが、実行時エラーが発生します。
戻るボタンは正常に機能し、それを押すと MyView1 が閉じられ、アクティビティが元に戻ります。ただし、ビュー内でプログラムでそれを実行できるようにしたいと考えています。たとえば、ユーザーがビュークラスの画面の特定の部分に触れると、それ自体が閉じて親アクティビティに戻ります。これをどのように実装すればよいですか?
とても簡単な作業のようです!しかし、同様の質問を検索しても答えが見つかりませんでした。
MyActivity1 がビューを開始する方法は次のとおりです。
public class MyActivity1 extends Activity {
MyView1 View1;
public void Start_Button(View view)
{
Context ctx = getApplicationContext();
View1= new MyView1(ctx, null);
setContentView(View1);
}
}
MyView1 の一部で、自分自身を閉じて MyActivity1 を元に戻すために何かを書きたい:
public class MyView1 extends View {
static Context mycontext;
public MyView1(Context context, AttributeSet attrs) {
super(context, attrs);
mycontext=context;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
this.setVisibility(View.INVISIBLE);
((Activity) mycontext).setContentView(R.layout.activity_myactivity1);
// This gives runtime error
}
}