0

我有一个扩展 TableLayout 的类来设置我的 tableview 但是在该页面本身上,我想获取我的 SharedPreferences 但是除了 Activity 之外 TableLayout 中没有这种受支持的方法 getSharedPreferences() 。有解决方法吗?

4

1 回答 1

0

getSharedPreferences不属于Activity,而是属于Context,并且 Android 中的每个小部件都需要对 Context 的引用。因此,如果您扩展 TableLayout,您将在构造函数中将 Context 传递给您的新类,不是吗?您可以从那里访问 getSharedPreferenreces,不是吗?

另一方面,getSharedPreferences从自定义小部件访问看起来是一个非常糟糕的设计。不要那样做。通过其构造函数将您需要的任何信息从共享首选项传递到您的小部件。

于 2013-01-31T14:38:40.060 回答