簡體   English   中英

無法解析方法“ xxx”

[英]cannot resolve method “xxx”

我有2個微調器和1個按鈕。 如果單擊該按鈕,它將把兩個選定的項目從微調器保存到SQLite。 但是我無法解決方法“ insertTimeSheet”的消息。

我需要幫助。 謝謝。

MyDatabaseHelper.java

package com.example.project.project.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;


public class MyDatabaseHelper extends SQLiteOpenHelper {
    public static final int DATABASE_VERSION=1;
    public static final String DATABASE_NAME="Company.db";
    public final static String TABLE_NAME="TimeSheet";
    public static final String ID="id";
    public static final String Name="name";
    public static final String Weather="weather";
    public static final String DATABASE_CREATE_TIME_SHEET="create table"+TABLE_NAME+"(ID INTEGER PRIMARY KEY AUTOINCREMENT,"+ Name+"TEXT,"+ Weather+"TEXT)";
    public void onCreate(SQLiteDatabase db)
    {
        db.execSQL(DATABASE_CREATE_TIME_SHEET);
    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion)
    {
        Log.w(MyDatabaseHelper.class.getName(),"Upgrading database from version"+oldVersion+"to"+newVersion+",which will destroy all old data");
        db.execSQL("Drop TABLE IF EXISTS "+DATABASE_NAME);
        onCreate(db);
    }

    public MyDatabaseHelper(Context context)
    {
        super(context, DATABASE_NAME,null,1);
    }
}

TimeSheetAPI.java

package com.example.project.project.API;
import android.database.sqlite.SQLiteDatabase;
import com.example.project.project.database.MyDatabaseHelper;
import android.content.Context;
import android.database.SQLException;
import android.content.ContentValues;

public class TimeSheetAPI {
    private SQLiteDatabase database;
    private MyDatabaseHelper dbHelper;
    public String[] allColumns={MyDatabaseHelper.ID,MyDatabaseHelper.Name,MyDatabaseHelper.Weather};

    public TimeSheetAPI(Context context)
    {
        dbHelper=new MyDatabaseHelper(context);
    }

    public void open() throws SQLException {
        database = dbHelper.getWritableDatabase();
    }

    public void close() {
        dbHelper.close();
    }
public long insertTimeSheet(String name,String weather)
{
    ContentValues values=new ContentValues();
   // values.put(MyDatabaseHelper.ID,id);
    values.put(MyDatabaseHelper.Name,name);
    values.put(MyDatabaseHelper.Weather,weather);
    return database.insert(MyDatabaseHelper.TABLE_NAME,null,values);
}

}

TimeSheet.java

 public void add()
    {
        btnSaved.setOnClickListener
                (
            new View.OnClickListener() {
                public void onClick(View v) {
                    long isInserted= dbHelper.insertTimeSheet(spinner2.getSelectedItem().toString(), // cannot resolve...inserttimeSheet
spinner.getSelectedItem().toString());



                }
            }
                );
        }

您應該使TimeSheetAPI class Object

TimeSheetAPI timesheet=new TimeSheetAPI(context);

然后像

timesheet.insertTimeSheet(.....)

也請參考@Frank N. Stein評論

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM