iva*_*ito 3 android preference
我正在尝试创建我自己的ImagePreference,我将在我的应用首选项中使用它,以便选择用户选择代表自己的图片.
我不太确定我在做什么,但基本上我正在模仿其他一些偏好课程.到目前为止,我只是遇到了这种方法的问题:
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;
}
Run Code Online (Sandbox Code Playgroud)
我刚刚从TwoStatePreference类复制了这段代码.我甚至不确定我是否需要这个方法,但编译器抱怨说AccessibilityManager类不包含getInstance方法.
我认为这可能是导入的问题,但我导入了与TwoStatePreference相同的类,即:
import android.view.accessibility.AccessibilityManager;
Run Code Online (Sandbox Code Playgroud)
我已经因为这个问题已经失去了几个小时.知道编译器为什么抱怨?
谢谢!
这种方法已被隐藏. 源代码:
Run Code Online (Sandbox Code Playgroud)/** * Get an AccessibilityManager instance (create one if necessary). * * @param context Context in which this manager operates. * * @hide */ public static AccessibilityManager getInstance(Context context)
实际上,这个AccessibilityManager类没有被称为的方法getInstance(). 来自文档:
要获取辅助功能管理器的句柄,请执行以下操作:
Run Code Online (Sandbox Code Playgroud)AccessibilityManager accessibilityManager = (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
所以你真正需要的只是一个Context.幸运的是,你有一个View,它本身就是一个Context,并且持有对它的父背景的引用.
| 归档时间: |
|
| 查看次数: |
3481 次 |
| 最近记录: |