programing

Android에서 토스트를 표시하는 방법은 무엇입니까?

firstcheck 2023. 6. 2. 22:25
반응형

Android에서 토스트를 표시하는 방법은 무엇입니까?

저는 위로 올릴 수 있는 슬라이더를 가지고 있고, 그러면 지도가 나타납니다.슬라이더를 위아래로 움직여 지도를 숨기거나 표시할 수 있습니다.지도가 앞에 있을 때, 저는 그 지도에서 터치 이벤트를 처리할 수 있습니다.만질 때마다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)이것은 에 대한 참조입니다.MapOverlay하지도 마MapActivity그래서 이것이 문제였습니다.

프로그램에 토스트를 표시하려면 다음을 수행합니다.

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

다음을 사용하여 활동 확장baseadapter이것을 사용했습니다.

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

또는 활동을 사용하는 경우 또는mainactivity

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

구문

Toast.makeText(context, text, duration);

매개 변수 값

맥락

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

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

getContext()컨텍스트 보기만 현재 실행 중인 활동을 반환합니다.

본문

text"STRING"을 반환합니다. 문자열이 아닐 경우 캐스트 유형을 사용할 수 있습니다.

 (string)num   // type caste

지속

Toast.LENGTH_SHORT토스트 지연 2000ms 사전 정의

Toast.LENGTH_LONG토스트 지연 3500ms 사전 정의

milisecond토스트 지연 사용자 정의 밀리초(예: 4000)


예제.1

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

예제.2

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

Android로 건배하기 위해,

import android.widget.Toast;


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

또는

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

(LENGTH_SHORT 및 LENGTH_LONG은 부울 플래그 역할을 합니다. 즉, 토스트 타이머를 밀리초 단위로 전송할 수 없지만 두 옵션 중 하나를 사용해야 합니다.)

아래 항목을 사용자 지정할 수 있습니다.

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

또는 일반적인 방법:

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

저는 토스트를 여러 개 먹어봤고 토스트가 오류를 일으키는 사람들을 위해 시도했습니다.

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

두 가지 방법이 있습니다.

기본 제공 토스트 메시지를 사용합니다.

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

저는 여기서 우연히 답을 발견했고, 누군가가 활동 맥락이 필요하다고 생각하며 꼬치꼬치 캐묻는 것 같다는 사실에 끌렸습니다.그렇지 않습니다.그러나 기본 이벤트 또는 UI 스레드에서 토스트를 게시해야 합니다.따라서, 활동 맥락 밖에서 이 작업을 수행하는 것은 약간 까다롭습니다.다음은 시스템 서비스 내부에서 작동하거나 궁극적으로 다음으로부터 상속받는 잠재적인 클래스에서 작동하는 예입니다.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();
            }
        });
    }
}

로 의인스에액필없습다니요의 .Activity이것이 효과가 있으려면.제발 이 경우를 암시하는 것을 그만두세요!한다면Activity필요한 경우, 메소드 서명이 필요하지 않습니다.Context.

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

"app.getBaseContext()"를 사용하는 대신 사용할 수 있습니다.

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

코드가 활성화되어 있으면 "활성화.this"의 "this"를 사용해야 합니다.
, 은 " "getActivity()"로.

파편이라면

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

토스트를 표시하려면 다음 코드를 사용합니다.

Toast toast = new Toast(getApplicationContext());

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

toast.setDuration(Toast.LENGTH_LONG);

toast.show();

심플 웨이

toast("Your Message")

OR

toast(R.string.some_message)

두가방법추됩니면다가하에 두 가지 .BaseActivity 새 는새로만을 합니다.BaseActivity아직 사용하지 않는 경우.

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

여러분의 하기 위해 당모활확다장니합동을든그리의신고▁all▁and다▁extend▁yourities▁by▁activ니확장.BaseActivity.

public class MainActivity extends BaseActivity
 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**

여기에 이미지 설명 입력

필독서:Android 토스트 예제

구문

Toast.makeText(context, text, duration);

getApplicationContext() 또는 getActivity() 또는 MainActivity.this(활동 이름이 MainActivity인 경우)를 사용할 수 있습니다.

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

또는

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

내부 조각(CreateView)

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

내부 클래스(작성 시)

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

가장 간단한 방법! (기본 활동에 표시하려면 첫 번째 인수를 다른 활동으로 대체)

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

이것은 저에게 효과가 있었습니다.

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

시작하는 방법

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

여기 또 다른 것이 있습니다.

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

에▁where디Toast다음과 같습니다.

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

&strings.xml:

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

서비스에서 토스트 표시

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

당신은 또한 넣을 수 있습니다.showToast응용프로그램 클래스에서 메서드를 사용하고 어디서든 토스트를 참조하여 어디서든 토스트를 볼 수 있습니다.

: 활동중간건한배작를성면다수려다행니합음을하사단▁in▁if다수니행합.Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

1.TextView in Test:---

TextView tv = new TextView(this); tv.setText("Hello!"); tv.setTextSize(30); tv.setTextColor(Color.RED); tv.setBackgroundColor(Color.YELLOW);

2. 이미지를 토스트로 표시:--

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. 레이아웃을 토스트로 표시:--

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

비기식으토로스작성다수다행니합음을면려하를트동▁if:다.private Activity activity; private android.content.Context context; this.activity = activity; this.context = context; Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();

코틀린 설탕을 사용한 확장 기능

fun Context.showToast(string: String){
    Toast.makeText(
        this, string,
        Toast.LENGTH_SHORT
    ).show()
}

용도:

사람: 활동:showToast("toast)

조각: 서조에:requiredContext().showToast("toast)

언급URL : https://stackoverflow.com/questions/3500197/how-to-display-toast-in-android

반응형