2016-01-31 27 views
0

我跟着this將數據存儲在共享偏好如何使用共享偏好設置值來啓動特定活動

在這裏,我以輸入從微調

Spinner ftype = (Spinner) findViewById(R.id.s1); 
Spinner vtype = (Spinner) findViewById(R.id.s2); 

Map<String, String> map = new HashMap<String, String>(); 

SharedPreferences settings = getSharedPreferences(Sri_eta_SP, 0); 
SharedPreferences.Editor editor = settings.edit(); 

map.put("ftype",ft); 
map.put("vtype",vt); 

for (String key : map.keySet()) { 
editor.putString(key, map.get(key)); 
} 

那邊我救了一個救像數據這

<?xml version="1.,0' encoding='utf-8' standalone='yes'?> 
<map> 
<string name="ftype">Android</string> 
<string name="vtype">phone</string> 
</map> 

這裏微調S1包含如Android,IOS,的Windows 值列表在這裏微調S2包含了諸如手機,標籤值列表

所以在這裏我想

我使用這樣的

if((map.containsKey("ftype") && map.get("ftype")!= null) && map.get("ftype")==Android){ 
MainActivity.this.finish(); 
Intent c = new Intent(MainActivity.this, Android.class); 
c.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
startActivity(c); 
finish(); 
} 
else{ 
    MainActivity.this.finish(); 
    Intent a = new Intent(MainActivity.this, Select.class); 
    a.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
    startActivity(a); 
    finish(); 
} 

但它不工作及其與else條件 我試圖要使用特定value..like Android或2016年的任何微調這也

if(map.get("ftype")==Android){ 

for (String ftype : map.keySet()) { 
    Android = map.get(ftype); 

    if(map.get("ftype")==Android){ 

    } 

但它不工作...任何一個可以建議我,如果值中包含特定的一個,那麼它應該開始一個活動....

回答

1

但它不工作及其與其他條件去...

由於使用==比較字符串值,使用String.equals代替==。像:

if(map.get("ftype").equals("Android"){ 
    // your code here 
} 
+0

感謝它他的工作 –