在触摸屏上完成(关闭)Android活动
如何在Adroid on touch中终止活动。这里我展示了details.xml中描述的一个视图。我需要在触摸时取消该活动。我尝试了以下代码。但它不起作用。有什么想法吗在触摸屏上完成(关闭)Android活动,android,Android,如何在Adroid on touch中终止活动。这里我展示了details.xml中描述的一个视图。我需要在触摸时取消该活动。我尝试了以下代码。但它不起作用。有什么想法吗 public class Details extends Activity { protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R
public class Details extends Activity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
}
public boolean onTouchEvent(MotionEvent event){
this.finish();
return true;
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
finish();
return super.dispatchTouchEvent(ev);
}
您没有在onCreate()中安装侦听器。比如:
findViewById(R.id.some_view).setOnTouchListener(this) 我知道这是个老问题,但如果有人需要,我的解决方案是: 我也遇到了同样的问题,所以我通过给我的父布局,即(consraintLayout)一个id,然后在setOnClickListener()方法中调用finish()解决了这个问题,它成功了
View v = findViewById(R.id.validateLayout);
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
validateLayout是我的活动的父约束布局
欢迎进行任何审查
另外,我想知道Addev的建议是否比此代码更好。您确定会调用onTouchEvent吗?API文档提到,只有在没有子视图使用该事件的情况下,才会调用它作为最后手段。我认为它不会被调用。你知道如何将“onTouchEvent”添加到我使用的视图中吗?因为这里我使用的是xml。你能检查一下吗:他不需要。他试图在触摸屏幕时关闭活动。