2014-03-31 2 views
1

나는 단편화를 만들었고 메인 레이아웃에 Drawerlayout을 가지고 있습니다. 내부 ListView (Optionsmenu) 및 Framelayout, 그 다른 조각을 주제로 채우기 싶습니다.활동에서 빈 Framelayout을 어떻게 삭제합니까?

활동을 시작할 때 사용자의 기존 데이터에 따라 첫 번째 화면에 대한 두 가지 옵션이 있습니다. 그래서 나는 framelayout에 다른 내용을 보여주고 싶다.

두 개의 서로 다른 조각이 첫 번째 화면으로 올바르게 표시되지만 사용자가 하드웨어 백 버튼을 누르면 빈 페이지로 돌아갑니다. 하지만 새로운 AlertDialog.Builder()를 시작하여 앱을 닫으려는 경우 간단하게 요청하고 싶습니다.

흰색 화면을 숨기는 방법을 궁금해합니다. 그리고 그가 backButton을 칠 때 왼쪽의 유일한 조각은 빈 것입니다. 그는 앱을 나가기를 원한다면 질문을 받아야합니다.

답변

1

그것은 공간과 함께 FrameLayout이 삭제됩니다이

FrameLayoutName.setVisibility(View.GONE); 

같이하십시오. 당신이

FrameLayoutName.setVisibility(View.VISIBLE); 
+0

내가 찾고있는 것이 아닙니다. 내가 돌아 왔을 때, 이전과 같이 여전히 같은 흰색 화면이 있습니다. 그것은 배낭에서 이벤트를 제거하지 않았고보기를 건너 뛰지도 않았습니다. – Friedolino

0

을 원하는 경우

되돌리기 프로세스는이 시도 .. 당신은 이전 활동으로 돌아 ..., 을 위해 삭제 코드의 의도를 전달할 수 있으며, 당신은이 모든 onBackPress에 쓰기 () 방법.

AlertDialog.Builder builder = new AlertDialog.Builder(
          Campaign_Details.this); 

        builder.setMessage("WHAT DO YOU WANT TO DO?"); 
        builder.setNegativeButton("DELETE", 
          new DialogInterface.OnClickListener() { 

           @Override 
           public void onClick(DialogInterface dialog, 
             int which) { 
    //code for delete 
} 

builder.setNeutralButton("CANCEL", 
         new DialogInterface.OnClickListener() { 

          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
          } 
          // DO NOTHING 
         }); 

       builder.setCancelable(false); 
       AlertDialog alertdialog = builder.create(); 
       alertdialog.show(); 

       return true; 
+0

예, onBackPress()에 대해 생각했지만 backbutton을 클릭 할 때마다 해당 이벤트가 발생합니다. framelayout이 비어있을 때만 해고되어야합니다. 이것은 활동을 시작한 첫 번째 사례입니다. 그 후에 framelayout는 내용으로 가득 차 있습니다. 사용자가 다시 클릭하면 흰색 화면이 나타납니다. 그러나 사용자가 조각 안에 있으면 다른 사람과 교환 할 수 있으므로 다시 단추를 누를 수 있어야합니다. – Friedolino

+0

그러면 시작하기 위해이 AlertDialog를 안에 전달할 수 있습니다. if (yourFragment == null) { . .} else { } – Himani

+0

null이 아니며, 단지 비어 있습니다 ... ID와 높이 및 너비가 있지만 내용이 없습니다. – Friedolino