我有一个使用 setContentView();
在 MyView1 中,在用 Canvas 绘制一些图之后,我希望能够返回到 MyActivity1。我试过 MyView1.this.setVisibility(View.INVISIBLE)
或 View.GONE
但这些只会让屏幕空白。
我也试过 ((Activity)getContext()).finish();
但它会产生运行时错误。
我应该说后退按钮工作正常,按下它会关闭 MyView1 并恢复 Activity 。但是,我希望能够在 View 内以编程方式执行此操作。例如,我希望当用户触摸 View 类中屏幕的特定部分时,它会自行关闭并带回父 Activity 。我应该如何实现?
这似乎是一项非常简单的任务!但是在搜索了类似的问题后我找不到答案。
下面是 MyActivity1 启动 View 的方式:
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
}
}
最佳答案
public public MyView1(Activity activity, AttributeSet attrs) {
super(context, attrs);
myActivity=activity;
}
public void Start_Button(View view)
{
View1= new MyView1(this, null);
setContentView(View1);
}
只需调用 myActivity.setContentView(R.layout.original_layout_for_MyActivity1);
关于android - 如何关闭 View 类以返回到父 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16723614/