Jos*_*osh 2 android android-context
我目前正在尝试从实用程序类调用一个方法,该方法将引用为此实用程序方法创建的新游标.不幸的是,我的新类不会让我在没有上下文的情况下创建游标.我已经尝试了许多从调用活动传递上下文的方法,但在大多数情况下获取空指针异常.
这是我的代码的一部分:
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Tools.pickRandomItem();
}
});
Run Code Online (Sandbox Code Playgroud)
并在工具类中:
public static void pickRandomItem() {
Cursor cur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,
null, null,MediaColumns.TITLE + " ASC");
}
Run Code Online (Sandbox Code Playgroud)
使用上面的代码会引发错误getContentResolver(),并且我为传递上下文所做的所有尝试都失败了.
我对Android编程很新,并不完全理解上下文的概念.您将提供的任何帮助将不胜感激!
创建一个为您的项目扩展Application的类(您必须在Manifest中声明它),在Application make a中
private static MyApplication app
Run Code Online (Sandbox Code Playgroud)
在它的onCreate()中将它分配给字段
app = this;
Run Code Online (Sandbox Code Playgroud)
并做一个
public static MyApplication get()
Run Code Online (Sandbox Code Playgroud)
在里面.当您需要上下文时,您可以使用
MyApplication.get()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14482 次 |
| 最近记录: |