-3

我已经根据自己的喜好在 xml 中创建了登录表单,并且我的共享偏好确实有效,但是当我将全屏添加到 java 类时,应用程序崩溃了。这是我的代码,任何帮助将不胜感激。

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);
                    }
                }
            }
        });
    }
}
4

2 回答 2

0

你的问题与SharedPreferences. 您的代码的问题是您在为该窗口设置内容requestFeature 后调用。如果您检查文档requestFeature,它会说必须在调用之前setContentView()调用它(直接或间接)。

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

公共布尔请求功能(int featureId)

启用扩展屏幕功能。这必须在 setContentView() 之前调用。只要在 setContentView() 之前,就可以根据需要多次调用。如果不调用,则没有扩展功能可用。一旦被请求,您就不能将其关闭。您不能通过 FEATURE_CUSTOM_TITLE 使用其他标题功能。

于 2012-05-25T23:55:46.380 回答
0
requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

在 oncreate() 方法中的 setcontentView() 之前使用此代码。

于 2013-08-14T20:45:40.887 回答