我有一个活动(MyActivity1),该活动使用setContentView();启动视图类(MyView1)

在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

        }
}

最佳答案

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/

10-12 02:46