我按照教程学习了如何创建一个下载.pdf文件的应用程序。
以下是代码:
def f(v1=1):
v2 = 2
def g(v3=4):
return v1 + v2 + v3 + 8
return g() + 16
def freeVar(val):
def nested():
return val
return nested.__closure__[0]
def nested(outer, innerName, **freeVars):
if isinstance(outer, (types.FunctionType, types.MethodType)):
outer = outer.func_code
for const in outer.co_consts:
if isinstance(const, types.CodeType) and const.co_name == innerName:
return types.FunctionType(const, globals(), None, None, tuple(
freeVar(freeVars[name]) for name in const.co_freevars))
nestedG = nested(f, 'g', v1=1, v2=2)
print nestedG(4) # will print 15
它显示了错误:
无法解析方法'getSystemService(java.lang.string)'
答案 0 :(得分:2)
this
指的是您正在使用的对象,因为它位于View.OnClickListener
内,它引用该对象而不是您的Activity类。
这样的事情应该做
final Context c = this;
dlbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//...
DownloadManager manager =(DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
});