2012-05-25 4 views
-3

XML로 로그인 양식을 만들었습니다. 내 공유 환경 설정이 작동하지만, 자바 클래스에 전체 화면을 추가하면 응용 프로그램이 다운됩니다. 여기 내 코드가 있는데 도움이된다면 감사 할 것입니다.안드로이드 공유 환경 설정 전체 화면이 작동하지 않습니다.

getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
     this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     /* 
     * Check if we successfully logged in before. 
     * If we did, redirect to home page 
     */ 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     if (settings.getString("logged", "").toString().equals("logged")) { 
      Intent intent = new Intent(Password.this, Video.class); 
      startActivity(intent); 
     } 

     Button b = (Button) findViewById(R.id.loginbutton); 
     b.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       EditText username = (EditText) findViewById(R.id.username); 
       EditText password = (EditText) findViewById(R.id.password); 

       if(username.getText().toString().length() > 0 && password.getText().toString().length() > 0) { 
        //------------------------------------Username below -------------------------------------Password below ---// 
        if(username.getText().toString().equals("username") && password.getText().toString().equals("password")) { 

         /* 
         * So login information is correct, 
         * we will save the Preference data 
         * and redirect to next class/home 
         */ 
         SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
         SharedPreferences.Editor editor = settings.edit(); 
         editor.putString("logged", "logged"); 
         editor.commit(); 

         Intent intent = new Intent(Password.this, Video.class); 
         startActivity(intent); 
        } 
       } 
      } 
     }); 
    } 
} 
+1

오류 로그 표시 ... –

답변

0

귀하의 문제는 SharedPreferences과 아무런 관련이 없습니다. 코드의 문제는 해당 창에 대한 내용을 (으)로 설정 한 후 requestFeature(으)로 호출한다는 것입니다. requestFeature에 대한 문서를 확인하면 setContentView()이 호출되기 전에 호출되어야한다고 (직접 또는 간접적으로)합니다.

http://developer.android.com/reference/android/view/Window.html#requestFeature%28int%29

공공 부울 requestFeature (INT FEATUREID)

확장 된 화면 기능을 사용합니다. setContentView() 전에 호출해야합니다. setContentView() 전에있는 한 원하는만큼 여러 번 호출 할 수 있습니다. 호출되지 않으면 확장 기능을 사용할 수 없습니다. 기능이 요청되면 기능을 끌 수 없습니다. FEATURE_CUSTOM_TITLE에서 다른 제목 기능을 사용할 수 없습니다.

0
requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 

사용에서 OnCreate() 메소드에 이전 된 setContentView 코드().