Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android如何将对象传递给新类_Android_Oop - Fatal编程技术网

android如何将对象传递给新类

android如何将对象传递给新类,android,oop,Android,Oop,我有以下活动 public class BmiHistory extends Activity { public Cursor cursor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.bmihistory); final DatabaseHandler databa

我有以下活动

public class BmiHistory extends Activity {


public Cursor cursor;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.bmihistory);
    final DatabaseHandler databaseOpen = new DatabaseHandler(this);
    final SQLiteDatabase db = databaseOpen.getReadableDatabase();

    Cursor c1 = db.rawQuery("select * from bmi", null);
    startManagingCursor(c1);
    c1.moveToFirst();
    this.cursor = c1; 
    while(!c1.isAfterLast()) {
        System.out.println(c1.getString(2));
        c1.moveToNext();
    }
    c1.close();


    BmiGraph drawView = new BmiGraph(this);
    drawView.setBackgroundColor(Color.WHITE);
    setContentView(drawView);

}


}
我在这次活动中调用了以下类

public class BmiGraph extends View {

Paint paint = new Paint();


public BmiGraph(BmiHistory context) {
    super(context);
    // TODO Auto-generated constructor stub
    System.out.println(context.toString());
}

public void onDraw(Canvas canvas) {
    paint.setColor(Color.BLACK);
    paint.setStrokeWidth(3);
    ...
}


}
我的问题是如何使活动中光标的数据可供第二个类使用,以便绘制图形


非常感谢

您可以修改BmiGraph类的构造函数以接受光标作为输入(请参见下文)。然后,您将可以从BmiGraph类中访问光标

public class BmiGraph extends View {

Paint paint = new Paint();

Cursor _someCursor;    

public BmiGraph(BmiHistory context, Cursor someCursor) {
    super(context);
    // TODO Auto-generated constructor stub
    System.out.println(context.toString());

    _someCursor = someCursor
}

public void onDraw(Canvas canvas) {
    paint.setColor(Color.BLACK);
    paint.setStrokeWidth(3);
    ...
}


}

BmiGraph
中添加一个setter方法,并从
BmiHistory
调用它。谢谢K-ballo,我尝试过了,但我不太了解语义它主要是语法,而不是语义。。如果你想编写Android应用程序,你必须学习Java。我正在尝试-你能给我举个例子吗?不,对不起,我不能在一个例子中综合如何用Java编程。拿起一个教程,我相信有很多好的!