2012-12-04 27 views
1

嗨大家=)我是一個新的android開發人員,我需要關於解僱片段的幫助。android:我怎樣才能關閉片段時,用戶觸摸它呢?

我的應用程序有一個登錄片段,當用戶觸摸它的外部時,我想隱藏登錄片段。我怎樣才能做到這一點? OnTouchEvent()方法可能有用或沒有用?

請說一下。謝謝=)

+1

如果您使用的是DialogFragment您可以使用此發佈的答案:http://stackoverflow.com/questions/8404140 – dymmeh

+0

謝謝,但它不是DialogFragment .. – Sultan

+0

爲什麼你不使用dialogfragment?它似乎會更有意義,因爲你想讓它看起來像一個對話框,並像一個行爲.. – dymmeh

回答

1

將登錄佈局放置在透明的全屏佈局中,並在較大的佈局上檢測觸摸事件。

0

嗨再次=)我解決了這個問題在我的主頁上使用OnTouchListener activity.I在我的主頁佈局有一個gridviews背景,如果用戶沒有登錄,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; 
      } 
     }); 
0

我認爲更好的辦法是,以釋放內存資源刪除片段。

我的解決方案是具有在片段這個方法:

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