Подтвердить что ты не робот

Как использовать Toast, когда я не могу использовать "this" как контекст

У меня есть функция прослушивания местоположения, и я хочу делать уведомления о тостах. Но это не позволит мне передать this как контекст. Как я должен делать тосты?

4b9b3361

Ответ 1

Если тост находится внутри вашего класса активности, вы можете YourActiviy.this, где YourActivity - это имя класса. если он находится вне вашего класса, вам нужно получить свой контекст активности (передать его в конструкторе и т.д.).

Ответ 2

Вы можете использовать NameOfYourActivity.this

Например:

public class MyActivity extends Activity {

 ...
     Toast.makeText(MyActivity.this, text, duration).show();

Ответ 3

Если вы находитесь во внутреннем классе, попробуйте также

getApplicationContext()

Ответ 4

Например, если у вас есть слушатель с методом "onComplete" внутри него, этот код должен работать.

public void onComplete(String response, Object state) {
        final String response_complete = response;
        MyActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MyActivity.this, text, duration).show();
            }
        });
    }

Это должно сделать это.

Ответ 5

вместо этого попробуйте getApplicationContext()

 Toast tea = Toast.makeText(getApplicationContext(), "Send", Toast.LENGTH_LONG);
 tea.show();

Ответ 6

Полевая переменная: Context context;

внутри OnCreate: context = this;

Xamarin/С# Синтаксис: Toast.MakeText(context, "your message", ToastLength.Long).Show();

Синтаксис Android/Java: Toast.makeText(context, "your message", Toast.LENGTH_LONG).show();

Ответ 7

Похоже, вы находитесь во внутреннем классе в Activity. Если это так, попробуйте ActivityName.this.