android:当用户触摸它时,我如何关闭片段?

时间:2012-12-04 16:56:00

标签: android android-fragments android-lifecycle

大家好=)我是一个新的Android开发人员,我需要一个关于解雇片段的帮助。

我的应用程序有一个登录片段,当用户触摸它的外部时,我想隐藏登录片段。我该怎么做? OnTouchEvent()方法可能有用吗?

请说些什么。谢谢=)

3 个答案:

答案 0 :(得分:1)

将登录布局放置在透明的全屏布局中,并检测较大布局上的触摸事件。

答案 1 :(得分:0)

嗨再次=)我在我的主页活动中使用OnTouchListener解决了这个问题。我的主页布局中有一个网格视图背景,如果用户没有登录,onTouch()方法运行。当登录片段可见时并且用户在其外部触摸我的hideLoginFragment()方法,要求解除片段..

gridView = (ShelvesView) findViewById(R.id.grid_shelves);
gridView.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                        if (application.getDbManager().getUser().key.equals("-1")){
                    hideLoginFragment();
                    loginButton.setVisibility(View.VISIBLE);
                    exitButton.setVisibility(View.INVISIBLE);}
                return false;
            }
        });

答案 2 :(得分:0)

我认为更好的方法是删除片段以释放内存资源。

我的解决方案是在片段中使用此方法:

private void closeFragment() {
        getActivity().getSupportFragmentManager().beginTransaction().remove(YOUR_FRAGMENT.this).commit();
    }