0

以下を含むクラスがあります。

 @Override
public void onClick(View createView) {
    switch (createView.getId()) {
    case R.id.save_button:
        Appointments add = new Appointments();
        add.addAppointment(TITLE);
        add.addAppointment(TIME);           
        break;
    }
}

別のクラスにある addAppointment メソッドを呼び出せるようにしたい:

 public void addAppointment(String string) {
  // Insert a new record into the Appointment data source.
  // You would do something similar for delete and update.
  SQLiteDatabase db = events.getWritableDatabase();
  ContentValues values = new ContentValues();
  values.put(TITLE, string);
  values.put(TIME, string);
  db.insertOrThrow(TABLE_NAME, null, values);
 }

この方法を試しましたが、 onclick をクリックすると、プログラムがクラッシュします

4

2 に答える 2

2
 @Override
public void onClick(View createView) {
    switch (createView.getId()) {
    case R.id.save_button:
        Appointments add = new Appointments();
        add.addAppointment(TITLE, TIME);  //Send both together
        break;
    }
}
I want to be able to call the addAppointment method which is in another class:

 public void addAppointment(String title, String time) {  // Change method header to accept both Strings here
  // Insert a new record into the Appointment data source.
  // You would do something similar for delete and update.
  SQLiteDatabase db = events.getWritableDatabase();
  ContentValues values = new ContentValues();
  values.put("title", title);   // second param is what you passed in for first param of method
  values.put("time", time);    // second param here is whatever you passed in for second param of method
  db.insertOrThrow(TABLE_NAME, null, values);
 }

TITLE と TIME が何であるかはわかりません。なぜなら、それらがどこでも宣言または初期化されているのvaules.put()を見ない(key, value)からです。通常、すべての大文字は標準を維持するために考えるべきことを表しています。keyvaluevalueconstant

于 2013-03-24T15:24:19.380 に答える
1

2 つのパラメータを指定してメソッドを書き込む 1 つのパラメータを指定してメソッドを次々に呼び出しても、両方の値は得られません。

 add.addAppointment(TITLE,TIME);
于 2013-03-24T15:20:32.320 に答える