Android 类型AccessibilityManager的方法getinstance(Context)未定义
我正在尝试创建我自己的ImagePreference,我将在我的应用程序首选项中使用它,以便选择用户选择代表自己的图片 我不太确定我在做什么,但基本上我是在模仿其他一些偏好类。到目前为止,我只在使用这种方法时遇到了问题:Android 类型AccessibilityManager的方法getinstance(Context)未定义,android,preference,Android,Preference,我正在尝试创建我自己的ImagePreference,我将在我的应用程序首选项中使用它,以便选择用户选择代表自己的图片 我不太确定我在做什么,但基本上我是在模仿其他一些偏好类。到目前为止,我只在使用这种方法时遇到了问题: public class ImagePreference extends Preference { ... void sendAccessibilityEvent(View view) { // Since the view is still not a
public class ImagePreference extends Preference {
...
void sendAccessibilityEvent(View view) {
// Since the view is still not attached we create, populate,
// and send the event directly since we do not know when it
// will be attached and posting commands is not as clean.
AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(getContext());
if (mSendClickAccessibilityEvent && accessibilityManager.isEnabled()) {
AccessibilityEvent event = AccessibilityEvent.obtain();
event.setEventType(AccessibilityEvent.TYPE_VIEW_CLICKED);
view.onInitializeAccessibilityEvent(event);
view.dispatchPopulateAccessibilityEvent(event);
accessibilityManager.sendAccessibilityEvent(event);
}
mSendClickAccessibilityEvent = false;
}
我刚刚从TwoStatePreference类复制了这段代码。我甚至不确定我是否需要这个方法,但是编译器抱怨说AccessibilityManager类不包含getInstance方法
我认为这可能是导入的问题,但我正在导入与TwoStatePreference相同的类,即:
import android.view.accessibility.AccessibilityManager;
我已经为这个问题浪费了好几个小时了。你知道为什么编译器会抱怨吗
谢谢 实际上,
AccessibilityManager
类没有名为getInstance()
的方法
要获取辅助功能管理器的句柄,请执行以下操作:
AccessibilityManager accessibilityManager =
(AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
所以实际上,您所需要的只是一个
上下文
。幸运的是,您有一个视图
,它本身就是一个上下文
,并保存对其父上下文的引用。此方法已被隐藏。
源代码:
完美的非常感谢(:-)=但是,我不明白为什么它不能以我的方式工作,因为我从android src获得了代码,并且我可以在AccessibilityManager类中看到这个方法:public static AccessibilityManager getInstance(Context Context){return sInstance;}。我的资料来源有问题吗?看来一切都是最新的。再次感谢!是的,我在看google开发的一些组件,它们使用了AccessibilityManager.getInstance(this.getContext())当我在代码中尝试同样的方法时,它不起作用。从android studio打开AccessibilityManager类也向我展示了这样一个方法/***获取AccessibilityManager实例(如果需要,创建一个)。**/公共静态可访问性管理器getInstance(上下文上下文){return sInstance;}
/**
* Get an AccessibilityManager instance (create one if necessary).
*
* @param context Context in which this manager operates.
*
* @hide
*/
public static AccessibilityManager getInstance(Context context)