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?謝謝。
我在這裏做了這個庫:https://github.com/ AndroidDeveloperLB/MaterialPreferenceLibrary。另外,我不確定,但我認爲Google也支持:https://plus.google.com/+AndroidDevelopers/posts/9kZ3SsXdT2T –