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 AsyncTask
afgevuurd, het downloadt sommige gegevens en maakt een Toast
die 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 Toast
weergegeven.
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 onPostExecute
Maak een toast
Toast.makeText(app.getBaseContext(),(String)data.result,
Toast.LENGTH_SHORT).show();
In nieuwe TestTask(this)
, dit is een verwijzing naar MapOverlay
en 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 baseadapter
heeft 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 Activity
nodig hebben om dit te laten werken. Stop alsjeblieft met suggereren dat dit het geval is! Als Activity
vereist was, zou de handtekening van de methode niet om een Context
vragen.
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 BaseActivity
als 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 Toast
is:
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.