android 메뉴 - 안드로이드에 토스트를 표시하는 방법?




8 Answers

Toast 를 응용 프로그램에 표시하려면 다음을 시도하십시오.

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

다른 예시:

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

지속 시간에 대해 두 개의 상수를 정의 할 수 있습니다.

int LENGTH_LONG 장시간의 뷰나 텍스트 통지를 표시합니다.

int LENGTH_SHORT 짧은 시간 동안 뷰 또는 텍스트 알림을 표시합니다.

토스트 사용자 정의하기

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();
메뉴버튼 하단

나는 끌어 올릴 수있는 슬라이더를 가지고 있으며지도를 보여준다. 슬라이더를 위아래로 움직여지도를 숨기거나 표시 할 수 있습니다. 지도가 전면에 있으면 해당지도에서 터치 이벤트를 처리 할 수 ​​있습니다. 매번 누를 때마다 AsyncTask 가 실행되고 일부 데이터가 다운로드되고 데이터를 표시하는 Toast 가 생성됩니다. 터치 이벤트에서 작업을 시작하지만 슬라이더를 닫을 때까지 토스트가 표시되지 않습니다. 슬라이더가 닫히고지도가 더 이상 표시되지 않으면 Toast 가 나타납니다.

어떤 아이디어?

작업 시작

편집하다:

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

onPostExecute 에서 축배 만들기

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

새로운 TestTask(this) 에서는 TestTask(this) 대한 참조이며 MapOverlay 대한 참조는 MapOverlay 로 이것이 문제였습니다.




통사론

Toast.makeText(context, text, duration);

매개 변수 값

문맥

getApplicationContext() - 응용 프로그램에서 실행중인 모든 활동의 컨텍스트를 반환합니다.

getBaseContext() - 응용 프로그램 내의 다른 컨텍스트에서 컨텍스트에 액세스하려면 액세스 할 수 있습니다.

getContext() - 현재 실행중인 작업 만 컨텍스트보기를 반환합니다.

본문

text - "STRING"을 반환하고, 문자열이 아니면 형식 변환을 사용할 수 있습니다.

 (string)num   // type caste

지속

Toast.LENGTH_SHORT - 미리 정의 된 토스트 지연 2000 ms

Toast.LENGTH_LONG - 미리 정의 된 토스트 딜레이 3500 ms

milisecond - 사용자 정의 밀리 초 (예 : 4000)

Example.1

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

예 2

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



Android에서 축배하기

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

또는

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

(LENGTH_SHORT 및 LENGTH_LONG은 부울 플래그로 작동합니다. 즉, 토스트 타이머를 밀리 초로 보낼 수 없지만 두 옵션 중 하나를 사용해야합니다.




두 가지 방법이 있습니다.

내장 토스트 메시지를 사용하십시오.

//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();

또는 사용자 정의 레이아웃 파일을 제공하여 사용자 정의 파일을 만들 수 있습니다.

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



조각 인 경우,

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



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

대신 "app.getBaseContext ()"를 사용하십시오.

" getApplicationContext () "또는 " getContext () "를 사용해 볼 수 있습니다.

코드가 활동중인 경우 "Activty.this"의 "this"를 사용해야합니다.
코드가 조각에 있다면 "getActivity ()"로 이동해야합니다.




가장 간단한 방법! (주 활동을 표시하려면 다른 활동을 위해 첫 번째 토론을 대체하십시오)

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



토스트 서비스에서 보여주기

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();
            }
        });
    }
    //....
}

Application 클래스에 showToast 메서드를 추가하고 어디서나 토스트를 표시 할 수도 있습니다.




Related