Передать информацию на основе id кнопки в другое activity( Android)

Делаю приложение, у которого имеется база данных с подробной информацией по каждому направлению курсов.

Нужно написать функцию, чтобы при нажатии на Button с названием курса открывалось Activity с подробной информацией об этом курсе, данные берутся из базы данных.
То есть, есть несколько кнопок с названием курсов, и при нажатии на любую должно открываться другое активити с более подробной информацией по выбранному направлению.

Можете подсказать, что тут надо поправить. Класс с button. Тут передается id и запускается другое активити:

public class Timetable extends AppCompatActivity implements View.OnClickListener {

Button buttonOne;
Button buttonToo;


@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_timetable);

    buttonOne = findViewById(R.id.b_one);
    buttonToo = findViewById(R.id.b_too);

    buttonOne.setOnClickListener(this);
    buttonToo.setOnClickListener(this);
}
@Override
public void onClick(View view) {
    long ID = 0;
    {
        switch (view.getId()) {
            case R.id.b_one:
                ID = 1;
                break;
            case R.id.b_too:
                ID = 2;
                break;
        }
        Context context = Timetable.this;
        Intent intent = new Intent(context, About_direction.class);
        intent.putExtra("ID", ID);
        startActivity(intent);
    }

}

Класс с подробным описанием. Получает id и присваивает компонентам данные

public class About_direction extends AppCompatActivity {

TextView name;
ImageView img;
TextView desc;

DatabaseHelper dbHelper;
SQLiteDatabase db;
Cursor userCursor;
SimpleCursorAdapter userAdapter;


@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about_direction);

    name = findViewById(R.id.name);
    img = findViewById(R.id.img_name);
    desc = findViewById(R.id.tv_description);


    dbHelper = new DatabaseHelper(this);
    db = dbHelper.getReadableDatabase();
    long ID = getIntent().getLongExtra("ID", 0);


    userCursor = db.rawQuery("select * FROM" + DatabaseHelper.TABLE + "WHERE" +
            DatabaseHelper.COLUMN_ID + "=?", new  String[]{String.valueOf(ID)});
    userCursor.moveToFirst();
    name.setText(userCursor.getString(1));
    desc.setText(userCursor.getString(3));
    userCursor.close();
}


}

Класс с БД добавляет записи в БД, а также идет выборка по id:

public class DatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "Info.db";
private static final int SCHEMA = 1;
public static final String TABLE = "courses";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_IMG = "img";
public static final String COLUMN_DESC = "description";


public DatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, SCHEMA);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE courses (" + COLUMN_ID
            + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME
            + " TEXT, " + COLUMN_DESC + " TEXT, " + COLUMN_IMG + " TEXT);");

    db.execSQL("INSERT INTO "+ TABLE +" (" + COLUMN_NAME
            + ", " + COLUMN_IMG
            + ", " + COLUMN_DESC  + ") VALUES ('Робототехника', 'img', 'описание' );");

}

@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
    db.execSQL("DROP TABLE IF EXISTS "+TABLE);
    onCreate(db);
}
private SQLiteDatabase mDB;

@SuppressLint("Range")
public Courses getFromID(Long id) {
    Cursor cursor = mDB.query(TABLE, null, COLUMN_ID + "=?", new String[]{String.valueOf(id)}, null, null, null);
    Courses courses = null;
    if (cursor.moveToFirst()) {
        courses = new Courses(cursor.getLong(cursor.getColumnIndex(COLUMN_ID)),
                cursor.getString(cursor.getColumnIndex(COLUMN_NAME)),
                cursor.getString(cursor.getColumnIndex(COLUMN_IMG)),
                cursor.getString(cursor.getColumnIndex(COLUMN_DESC)));
    }
    cursor.close();
    return courses;
}

}

Ответы (0 шт):