Пишу клавиатуру, пытаюсь вывести информацию из БД
public final class InputLogic {
String test, test2;
public final RichInputConnection mConnection;
private final RecapitalizeStatus mRecapitalizeStatus = new RecapitalizeStatus();
public final TreeSet<Long> mCurrentlyPressedHardwareKeys = new TreeSet<>();
public InputLogic(final LatinIME latinIME) {
mLatinIME = latinIME;
mConnection = new RichInputConnection(latinIME);
}
Пытаюсь передать Context public InputLogic(final LatinIME latinIME, Context context)
Но при этом в другом классе ругается эта строка
final InputLogic mInputLogic = new InputLogic(this);
Как в таком случае передать контекст?
Как правило, Context - это Activity, которая находится на переднем плане, для сервиса - Service. Это наследники базового абстрактного класса Context.
Для того, чтобы получить контекст в стороннем классе вне Активити/Сервиса, его нужно туда передать при создании и, если класс не статический, даже сохранить для дальнейшего использования.
Во фрагменте контекст можно получить через getActivity(), в некоторых классах (например, View) через getBaseContext() или getApplicationContext().
Что касается вашего примера, не очень понятна взаимосвязь этих трёх строк:
public InputLogic(final LatinIME latinIME, Context context)
final InputLogic mInputLogic = new InputLogic(this); //кто здесь this?
public InputLogic(final LatinIME latinIME) {}
Они все про разное.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости