我是新來的android開發,並嘗試做一個應用程序,其中第一次顯示屏幕並要求用戶設置密碼,並且在設置密碼後,該屏幕再也不會顯示。 我寫了一個基本的代碼實現這個,但是當在模擬器上運行我的應用程序時,同樣的設置屏幕會一次又一次地顯示出來。有人能指出原因嗎?OneTime設置屏幕Android錯誤
代碼:
package com.example.homeautomation.zigbeehomeauto;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.EditText;
public class SetupScreen extends ActionBarActivity {
View v ;
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle savedInstanceState) {
SharedPreferences check = getSharedPreferences(PREFS_NAME, 0);
boolean hasLoggedIn = check.getBoolean("Name", false);
if (hasLoggedIn) {
Intent intent = new Intent();
intent.setClass(SetupScreen.this, MainScreen.class);
startActivity(intent);
this.finish();
}
else {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup_screen);
}
}
public void Send(View v) {
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
EditText text = (EditText) findViewById(R.id.editText);
String value = text.getText().toString();
editor.putString("Name", "value");
Intent intent = new Intent();
intent.setClass(SetupScreen.this, MainScreen.class);
startActivity(intent);
this.finish();
}
}
檢查logcat中的錯誤,並在這裏發佈。 – 2015-04-06 10:19:08
你是否在清單文件中提到了你的活動? – 2015-04-06 10:20:47
您應該首先顯示屏幕,將有關信息保存在持久性存儲e,g共享首選項中,並在加載主屏幕時檢查您是否已經完成了該操作。 – 2015-04-06 10:26:25