1

我需要在我的應用程序中顯示一個首選項屏幕。我設法實現了這一點,它適用於冰淇淋三明治和較新的設備,但不適用於像Gingebread和Froyo這樣的舊設備。我使用ActionBarSherlock作爲兼容性庫來支持舊設備。如何在較舊的Android設備上顯示偏好設置屏幕,例如Gingerbread和Froyo?

這裏是爲Activity包含偏好屏幕代碼:

public class Settings extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     getFragmentManager().beginTransaction() 
       .replace(android.R.id.content, new Preferences()) 
       .commit(); 
    } 

} 

這是從我的活動示例代碼調用的喜好屏幕:當用戶試圖打開

public class Trend extends SherlockActivity { 

    @Override 
    public boolean onOptionsItemSelected(MenuItem itmMenuitem) { 
     if (itmMenuitem.getItemId() == R.id.search) { 
      startActivity(new Intent(getBaseContext(), Settings.class)); 
      return true; 
     } 
    } 

} 

在較舊設備上的偏好設置屏幕上,我收到一條例外消息:

java.lang.NoSuchMethodError: com.mridang.stupidapp.Settings.getFragmentManager 
at com.mridang.stupidapp.Settings.onCreate(Settings.java:15) 

我應該如何修改我的偏好設置屏幕以使用舊設備,即API 8?謝謝。

+0

我在這裏做了這個庫:https://github.com/ AndroidDeveloperLB/MaterialPreferenceLibrary。另外,我不確定,但我認爲Google也支持:https://plus.google.com/+AndroidDevelopers/posts/9kZ3SsXdT2T –

回答

相關問題