如何将游标声明为全局变量

时间:2015-01-23 11:29:59

标签: android variables cursor

我有两个类,MainActivity.java和ImageAdapter.java我在这个主要活动中声明了游标

public  Cursor cursor;

现在我想在我的第二个名为imageAdapter.java的类中访问该变量'cursor'。如果有可能这样的人会有好的吗?

3 个答案:

答案 0 :(得分:0)

将光标传递给适配器,如下所示

imageAdapter adapter = new imageAdapter(MainActivity.this, cursor);

您可以从适配器类中评估此光标。

Cursor cursor;
public imageAdapter(Activity activity, Cursor cursor) {
    this.cursor = cursor;
}

现在您可以使用getView(...)方法访问光标数据。

答案 1 :(得分:0)

如果ImageAdapter延长CursorAdapter,请使用MainActivity

adapter.swapCursor(yourCursor);

然后在ImageAdapter中调用getCursor()

如果ImageAdapter未从CursorAdapter扩展,则可以在其中实现set方法。

private Cursor cursor;

public void setCursor(Cursor cursor){
    this.cursor = cursor;
}

并将其设置为MainActivity,如imageAdapter.setCursor(yourCursor);

从OOP角度来看,这通常比将MainActivity中的游标声明为静态或从ImageAdapter创建MainActivity依赖项更好。

答案 2 :(得分:-1)

您是否尝试为变量???创建getter和setter,或者您可以通过

将其设为静态
public static  Cursor cursor;

并访问它:

MainActivity.cursor;

或者如果你制作了getter和setter,你就可以接受它:

MainActivity m = new MainActivity();
m.getCursor();
m.setCursor(new Cursor);

希望它有所帮助!!!