Eu tenho um controle deslizante que pode ser puxado para cima e depois mostra um mapa. Posso mover o controle deslizante para cima e para baixo para ocultar ou mostrar o mapa. Quando o mapa está na frente, eu posso lidar com eventos de toque nesse mapa. Sempre que eu toco, um AsyncTask
é acionado, ele baixa alguns dados e cria um Toast
que exibe os dados. Embora eu inicie a tarefa no evento de toque, nenhum brinde é exibido, até fechar o controle deslizante. Quando o controle deslizante é fechado e o mapa não é mais exibido, é exibido Toast
.
Alguma ideia?
Bem, comece a tarefa
EDITAR:
public boolean onTouchEvent(MotionEvent event, MapView mapView){
if (event.getAction() == 1) {
new TestTask(this).execute();
return true;
}else{
return false;
}
}
e onPostExecute
fazer um brinde
Toast.makeText(app.getBaseContext(),(String)data.result,
Toast.LENGTH_SHORT).show();
No novo TestTask(this)
, isso é uma referência MapOverlay
e não MapActivity
, então esse era o problema.
android
android-mapview
android-asynctask
toast
Voto a favor
fonte
fonte
Toast
, verifique-a: stackoverflow.com/a/18280318/1891118Respostas:
Para exibir o Toast no seu aplicativo, tente o seguinte:
Outro exemplo:
Podemos definir duas constantes para a duração:
Personalizando sua torrada
fonte
Estendendo a atividade usando
baseadapter
usado issoou se você estiver usando atividade ou
mainactivity
fonte
Sintaxe
Valor do parâmetro
contexto
texto
duração
Exemplo 1
Example.2
fonte
Para brindar no Android
ou
(LENGTH_SHORT e LENGTH_LONG estão agindo como sinalizadores booleanos - o que significa que você não pode enviar o cronômetro de brinde para milissegundos, mas é necessário usar uma dessas duas opções)
fonte
Você pode personalizar seu tost:
Ou maneira geral:
fonte
Eu tentei várias torradas e para aqueles a quem a torrada lhes está dando erro, tente
fonte
Existem duas maneiras de fazer isso.
Use a mensagem Toast embutida
ou faça um personalizado, fornecendo arquivo de layout personalizado
fonte
Encontrei as respostas aqui e fiquei atraído pelo fato de que parece haver alguém bisbilhotando, acreditando que um contexto de Atividade é necessário. Este não é o caso. No entanto, é necessário que um Toast seja publicado a partir do evento principal ou do thread da interface do usuário. Portanto, fazer com que isso funcione fora de um contexto de atividade é um pouco complicado. Aqui está um exemplo que funcionaria dentro de um serviço do sistema ou em qualquer classe potencial que herda em última instância
Context
.Observe que não precisamos acessar uma instância
Activity
para que isso funcione. Pare de sugerir que este é o caso! SeActivity
necessário, a assinatura do método não exigiria aContext
.fonte
em vez de usar "app.getBaseContext ()".
Você pode tentar usar " getApplicationContext () " ou " getContext () ".
Se o seu código estiver em atividade, você deve usar "this" de "Activty.this".
Se o seu código estiver em fragmento, você deve ir para "getActivity ()"
fonte
Se é um fragmento,
fonte
Para exibir o Toast, use o seguinte código:
Toast toast = new Toast(getApplicationContext());
fonte
fonte
Maneira simples
toast("Your Message")
OU
toast(R.string.some_message)
Basta adicionar dois métodos no seu
BaseActivity
. Ou crie um novoBaseActivity
se você ainda não estiver usando.e estenda todas as suas atividades até
BaseActivity
.fonte
Maneira mais simples! (Para exibir em sua atividade principal, substitua Primeiro argumento por outra atividade)
fonte
Isso funcionou para mim:
fonte
Deve ler: Exemplo do Android Toast
Sintaxe
Você pode usar getApplicationContext () ou getActivity () ou MainActivity.this (se o Nome da atividade for MainActivity)
ou
fonte
A maneira de começar
fonte
Mostrar brinde do serviço
Você também pode colocar o
showToast
método na sua classe Application e mostrar o brinde de qualquer lugar.fonte
Se você deseja escrever um brinde simples em sua atividade:
Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
1. exibindo TextView no Toast: ---
TextView tv = new TextView(this);
tv.setText("Hello!");
tv.setTextSize(30);
tv.setTextColor(Color.RED);
tv.setBackgroundColor(Color.YELLOW);
2.Showing imagem como torrada: -
ImageView iv = new ImageView(this);
iv.setImageResource(R.drawable.blonde);
Toast t = new Toast(this);
t.setView(iv);
t.setDuration(Toast.LENGTH_LONG);
t.show();
3.Show Layout como brinde: -
LayoutInflater li = getLayoutInflater();
View view = li.inflate(R.layout.my_toast_layout,null,false);
Toast t = new Toast(this);
t.setView(view);
t.setDuration(Toast.LENGTH_LONG);
t.show();
** Se você quiser escrever o brinde no seu Async, então:
private Activity activity;
private android.content.Context context;
this.activity = activity;
this.context = context;
Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();
fonte
Aqui está mais um:
Onde
Toast
fica:Toast.makeText(getBaseContext(),getText(R.string.refresh_btn_pushed),Toast.LENGTH_LONG).show();
&
strings.xml
:<string name="refresh_btn_pushed">"Refresh was Clicked..."</string>
fonte
Fragmentos internos (onCreateView)
Toast.makeText(getActivity(), "your message" , Toast.LENGTH_LONG).show();
Classes internas (onCreate)
Toast.makeText(myClassName.this, "your message" , Toast.LENGTH_LONG).show();
fonte