Hoe toost in Android weergeven?

Ik heb een schuifregelaar die kan worden opgetrokken en dan toont het een kaart. Ik kan de slider omhoog en omlaag verplaatsen om de kaart te verbergen of te tonen. Wanneer de kaart op de voorkant bevindt, kan ik aanraakgebeurtenissen op die kaart aan. Telkens wanneer ik aanraak, wordt een AsyncTaskafgevuurd, het downloadt sommige gegevens en maakt een Toastdie de gegevens weergeeft. Hoewel ik de taak op aanraakgebeurtenis start, wordt geen toost weergegeven, niet totdat ik de schuifregelaar sluit. Wanneer de schuifregelaar is gesloten en de kaart niet meer wordt weergegeven, wordt de Toastweergegeven.

alle ideeën?

Begin de taak

bewerken:

public boolean onTouchEvent(MotionEvent event, MapView mapView){ 
    if (event.getAction() == 1) {
        new TestTask(this).execute();
        return true;            
    }else{
        return false;
    }
 }

en in onPostExecuteMaak een toast

Toast.makeText(app.getBaseContext(),(String)data.result, 
                Toast.LENGTH_SHORT).show();

In nieuwe TestTask(this), dit is een verwijzing naar MapOverlayen niet op MapActivity, dus dit was het probleem.


1, Autoriteit 100%

Om toast in uw toepassing te toost, probeer het te proberen Dit:

Toast.makeText(getActivity(), (String)data.result, 
   Toast.LENGTH_LONG).show();

Nog een voorbeeld:

Toast.makeText(getActivity(), "This is my Toast message!",
   Toast.LENGTH_LONG).show();

We kunnen twee constanten voor duur definiëren:

int LENGTH_LONGToon de weergave of sms-melding voor een lange periode
tijd.

int LENGTH_SHORTToon de weergave of tekstmelding voor een korte periode
tijd.

Uw toast aanpassen

LayoutInflater myInflater = LayoutInflater.from(this);
View view = myInflater.inflate(R.layout.your_custom_layout, null);
Toast mytoast = new Toast(this);
mytoast.setView(view);
mytoast.setDuration(Toast.LENGTH_LONG);
mytoast.show();

Antwoord 2, autoriteit 10%

Activiteit uitbreiden met baseadapterheeft dit gebruikt

Toast.makeText(getActivity(), 
    "Your Message", Toast.LENGTH_LONG).show();

of als u activiteit of mainactivity

gebruikt

Toast.makeText(MainActivity.this, 
    "Your Message", Toast.LENGTH_LONG).show();

Antwoord 3, autoriteit 5%

Syntaxis

Toast.makeText(context, text, duration);

Parameterwaarde

context

getApplicationContext()– Retourneert de context voor alle activiteiten die in de toepassing worden uitgevoerd.

getBaseContext()– Als u toegang wilt tot Context vanuit een andere context binnen de toepassing die u kunt openen.

getContext()– Retourneert de contextweergave alleen de huidige actieve activiteit.

tekst

text– Return “STRING” , als het geen string is, kunt u type cast gebruiken.

(string)num   // type caste

duur

Toast.LENGTH_SHORT– Toastvertraging 2000 ms vooraf gedefinieerd

Toast.LENGTH_LONG– Toastvertraging 3500 ms vooraf gedefinieerd

milisecond– Toastvertraging door gebruiker gedefinieerde milliseconden (bijv. 4000)


Voorbeeld.1

Toast.makeText(getApplicationContext(), "STRING MESSAGE", Toast.LENGTH_LONG).show();

Voorbeeld.2

Toast.makeText(getApplicationContext(), "STRING MESSAGE", 5000).show();

Antwoord 4, autoriteit 3%

Proosten in Android

Toast.makeText(MainActivity.this, "YOUR MESSAGE", LENGTH_SHORT).show();

of

Toast.makeText(MainActivity.this, "YOUR MESSAGE", LENGTH_LONG).show();

( LENGTH_SHORT en LENGTH_LONG fungeren als booleaanse vlaggen – wat betekent dat je de toasttimer niet naar milliseconden kunt sturen, maar je moet een van deze 2 opties gebruiken)


Antwoord 5, autoriteit 2%

U kunt uw tost aanpassen:

LayoutInflater mInflater=LayoutInflater.from(this);
View view=mInflater.inflate(R.layout.your_layout_file,null);
Toast toast=new Toast(this);
toast.setView(view);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();

Of Algemene manier:

Toast.makeText(context,"Your message.", Toast.LENGTH_LONG).show();

Antwoord 6, autoriteit 2%

Ik heb verschillende toast geprobeerd en voor degenen die hun toast geeft, probeer het eens

Toast.makeText(getApplicationContext(), "google", Toast.LENGTH_LONG).show();

Antwoord 7, autoriteit 2%

Er zijn twee manieren om dit te doen.

Gebruik ofwel het ingebouwde Toast-bericht

//Toast shown for  short period of time 
Toast.makeText(getApplicationContext(), "Toast Message", Toast.LENGTH_SHORT).show();
//Toast shown for long period of time
Toast.makeText(getApplicationContext(), "Toast Message", Toast.LENGTH_LONG).show();

of maak een aangepaste door een aangepast lay-outbestand op te geven

Toast myToast = new Toast(getApplicationContext());
myToast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
myToast.setDuration(Toast.LENGTH_LONG);
myToast.setView(myLayout);
myToast.show();

Antwoord 8

Ik kwam de antwoorden hier tegen en werd aangetrokken door het feit dat er iemand lijkt rond te neuzen, in de overtuiging dat een activiteitscontext vereist is. Dit is niet het geval. Het is echter een vereiste dat een Toast wordt gepost vanuit het hoofdevenement of de UI-thread. Het is dus een beetje lastig om dit buiten een activiteitscontext te laten werken. Hier is een voorbeeld dat zou werken binnen een systeemservice, of een potentiële klasse die uiteindelijk overerft van Context.

public class MyService extends AccessibilityService {
    public void postToastMessage(final String message) {
        Handler handler = new Handler(Looper.getMainLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
            }
        });
    }
}

Houd er rekening mee dat we geen toegang tot een instantie van Activitynodig hebben om dit te laten werken. Stop alsjeblieft met suggereren dat dit het geval is! Als Activityvereist was, zou de handtekening van de methode niet om een Contextvragen.


Antwoord 9

Toast.makeText(app.getBaseContext(),"your string",Toast.LENGTH_SHORT).show();

in plaats van “app.getBaseContext()” te gebruiken.

U kunt proberen “getApplicationContext()” of “getContext()” te gebruiken.

Als uw code actief is, moet u “this” of “Activty.this” gebruiken.
Als uw code in fragment is, moet u kiezen voor “getActivity()”


Antwoord 10

Als het een fragment is,

Toast.makeText(getActivity(), "this is my Toast message!!! =)",
                   Toast.LENGTH_LONG).show();

Antwoord 11

Gebruik de volgende code om Toast weer te geven:

Toast toast = new Toast(getApplicationContext());

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();

Antwoord 12

Toast toast=Toast.makeText(getApplicationContext(),"Hello", Toast.LENGTH_SHORT);
 toast.setGravity(Gravity.CENTER, 0, 0); // last two args are X and Y are used for setting position
 toast.setDuration(10000);//you can even use milliseconds to display toast
 toast.show();**//showing the toast is important**

13

Eenvoudige manier

toast("Your Message")

of

toast(R.string.some_message)

Voeg gewoon twee methoden toe in uw BaseActivity. Of maak een nieuwe BaseActivityals u nog niet gebruikt.

public class BaseActivity extends AppCompatActivity {
    public void toast(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
    public void toast(@StringRes int msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }
}

en verlengen al uw activiteiten op BaseActivity.

public class MainActivity extends BaseActivity

14

moet lezen: Android Toast-voorbeeld

syntaxis

Toast.makeText(context, text, duration);

U kunt GetApPlicationContext () of Getactiviteit () of Mainactivity gebruiken. Dit (als de activiteitsnaam aanleiding is)

Toast.makeText(getApplicationContext(),"Hi I am toast",Toast.LENGTH_LONG).show();

of

Toast.makeText(MainActivity.this,"Hi I am Toast", Toast.LENGTH_LONG).show();

Antwoord 15

De eenvoudigste manier! (Als u in uw hoofdactiviteit wilt weergeven, vervangt u Eerste argument voor andere activiteit)

Button.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        Toast.makeText(MainActivity.this,"Toast Message",Toast.LENGTH_SHORT).show();
    }
}

Antwoord 16

De manier om aan de slag te gaan

Toast.makeText(this, "Hello World", Toast.LENGTH_SHORT).show();

Antwoord 17

Dit werkte voor mij:

Toast.makeText(getBaseContext(), "your text here" , Toast.LENGTH_SHORT ).show();

Antwoord 18

Hier is er nog een:

refreshBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getBaseContext(),getText(R.string.refresh_btn_pushed),Toast.LENGTH_LONG).show();
            }
        });

Waar Toastis:

Toast.makeText(getBaseContext(),getText(R.string.refresh_btn_pushed),Toast.LENGTH_LONG).show();

& strings.xml:

<string name="refresh_btn_pushed">"Refresh was Clicked..."</string>


Antwoord 19

Inside Fragments (onCreateView)

Toast.makeText(getActivity(), "your message" , Toast.LENGTH_LONG).show();

Inside Classes (Oncreate)

Toast.makeText(myClassName.this, "your message" , Toast.LENGTH_LONG).show();


20

TOST TOAST VAN SERVICE

public class ServiceA extends Service {
    //....
    public void showToast(final String message) {
        Handler handler = new Handler(Looper.getMainLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getContext(), message, Toast.LENGTH_LONG).show();
            }
        });
    }
    //....
}

U kunt ook showToast-methode in uw toepassingsklasse plaatsen en toost overal tonen.

Other episodes