অ্যান্ড্রয়েডে টোস্টটি কীভাবে প্রদর্শন করবেন?


446

আমার কাছে একটি স্লাইডার রয়েছে যা টানা যাবে এবং তারপরে এটি একটি মানচিত্র দেখায়। আমি মানচিত্রটি আড়াল করতে বা প্রদর্শন করতে স্লাইডারটিকে উপরে এবং নীচে নিয়ে যেতে পারি। যখন মানচিত্রটি সামনে থাকে, আমি সেই মানচিত্রে স্পর্শ ইভেন্টগুলি পরিচালনা করতে পারি। যতবার আমি স্পর্শ করি, যখনই 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, তাই এটি ছিল সমস্যা।


1
এই পোস্টটির উত্তর অনেক আগেই দেওয়া হয়েছিল, তবে আমার ধারণা আমার মন্তব্যটি এখনও কাউকে সাহায্য করতে পারে। সম্পর্কিত সুসংগঠিত লাইব্রেরি রয়েছে Toast, এটি পরীক্ষা করে দেখুন: stackoverflow.com/a/18280318/1891118
ওলেক্সি কে।

2
টোস্ট সম্পর্কে প্রায় সব ... সহজ টিউটোরিয়াল .... এখানে ক্লিক করুন
টমাস ড্যানিয়েল

উত্তর:


849

আপনার আবেদনে টোস্টটি প্রদর্শনের জন্য , এটি চেষ্টা করুন:

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

3
@ এলেন, টাসট তৈরির জন্য আপনার ক্রিয়াকলাপের প্রসঙ্গ প্রয়োজন, অ্যাপ্লিকেশন প্রসঙ্গে নয়।
ইউশা আলেয়ুব

1
আসলে, কোনও কার্যকলাপের প্রসঙ্গে প্রয়োজনীয়তা সঠিক নয় not তবুও, কার্যক্রমের বাইরে কাজ করার জন্য টোস্টগুলি পাওয়া (উদাহরণস্বরূপ একটি সিস্টেম পরিষেবাতে) মূল লুপটিতে অ্যাক্সেস প্রয়োজন। আমার সমাধান পোস্ট করা।
ChrisCM

7
যদি আপনি এটিকে অনক্লিক পদ্ধতির অভ্যন্তরে রাখছেন তবে getActivity () এর পরিবর্তে getBaseContext () আমার জন্য কাজ করেছে।
এডওয়ার্ড

@ ফিলিপবেলগ্রাভ-হারবার্ট দুর্ভাগ্যক্রমে আপনার লিঙ্কটি এখন আর ভাল নেই।
এলেন স্পার্টাস

4
Toast.makeText (MainActivity.this, বার্তা, টোস্ট। এলএনজিথ_লং)। শো ();
শাহাব আইনবাদী

83

সম্প্রসারণ তথ্য ব্যবহার করছে baseadapterএই ব্যবহৃত

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

বা যদি আপনি কার্যকলাপ ব্যবহার করছেন বা mainactivity

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

1
বেস অ্যাডাপ্টার বা মূল ক্রিয়াকলাপের মতো কোনও জিনিস নেই, টোস্ট কেবলমাত্র প্যারামিটার অ্যাপ্লিকেশন প্রসঙ্গ, বার্তা, সময়কাল-দীর্ঘ / সংক্ষিপ্ত করে প্রদর্শন করে
মহেশ

47

বাক্য গঠন

Toast.makeText(context, text, duration);

প্যারামিটার মান

প্রসঙ্গ

getApplicationContext() - প্রয়োগে চলমান সমস্ত ক্রিয়াকলাপের প্রসঙ্গটি ফেরত দেয়।

getBaseContext() - আপনি যদি অ্যাপ্লিকেশনের মধ্যে অন্য প্রসঙ্গ থেকে প্রসঙ্গ অ্যাক্সেস করতে চান তবে অ্যাক্সেস করতে পারেন।

getContext() - প্রসঙ্গ প্রদর্শনটি কেবলমাত্র চলমান ক্রিয়াকলাপটি দেখায় Return

পাঠ

text - "STRING" ফিরিয়ে দিন, স্ট্রিং না থাকলে আপনি টাইপ কাস্ট ব্যবহার করতে পারেন।

 (string)num   // type caste

স্থিতিকাল

Toast.LENGTH_SHORT - টোস্ট বিলম্ব 2000 এমএস পূর্বনির্ধারিত

Toast.LENGTH_LONG - টোস্ট বিলম্ব 3500 এমএস পূর্বনির্ধারিত

milisecond - টোস্ট বিলম্বকারী ব্যবহারকারীর সংজ্ঞা দেওয়া মিলসেকেন্ড (উদা। 4000)


Example.1

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

Example.2

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

ব্যবহারকারীর সংজ্ঞা 5000 মিলিসেকেন্ড টোস্ট বিলম্ব।
জয় প্যাটেল

ভাল ব্যাখ্যা করুন, তবে আপনার টোস্ট তৈরির জন্য ক্রিয়াকলাপের প্রসঙ্গ প্রয়োজন, অ্যাপ্লিকেশন প্রসঙ্গে নয়।
ইউশা আলেয়ুব

ভাল, ভাল, একটি কাস্ট যেমন (স্ট্রিং) নাম এখনও জাভার সাথে পরিচয় করানো হয় নি। Integer.toString () বা অনুরূপ ব্যবহার করে দেখুন।
মোস্তোভস্কি

2
টোস্টের জন্য সেটিং সময়কাল সম্ভব নয়, কেবল পূর্বনির্ধারিত সময়গুলি, LENGTH_SHORT এবং LENGTH_LONG
জর্জেসিস

23

অ্যান্ড্রয়েডে টোস্ট করতে

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

অথবা

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

(LENGTH_SHORT এবং LENGTH_LONG বুলিয়ান পতাকা হিসাবে কাজ করছে - যার অর্থ আপনি মিলি সেকেন্ডে টোস্ট টাইমার প্রেরণ করতে পারবেন না, তবে আপনাকে সেই দুটি বিকল্পের মধ্যে দুটি ব্যবহার করতে হবে)


6
ডকুমেন্টেশনটি পড়ুন, আপনি কেবলমাত্র টোস্ট বেছে নেবেন LE এলএনজিটিএসএসএইচআরটি বা টোস্ট LE
জর্জেসিস 16'14 21 '

20

আপনি আপনার টাস্ট কাস্টমাইজ করতে পারেন:

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

1
ডান - এখানে গিটহাবের বাস্তব প্রকল্পগুলির কয়েকটি উদাহরণ রয়েছে - কোডোটা
অ্যান্ড্রয়েড

15

আমি বেশ কয়েকটি টোস্ট চেষ্টা করেছি এবং যাদের টোস্ট তাদের ত্রুটি করার চেষ্টা করছে

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

14

এটি করার দুটি উপায় আছে।

হয় ইনবিল্ট টোস্ট ম্যাসেজটি ব্যবহার করুন

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

1
ভাল ব্যাখ্যা করুন, তবে আপনার টোস্ট তৈরির জন্য ক্রিয়াকলাপের প্রসঙ্গ প্রয়োজন, অ্যাপ্লিকেশন প্রসঙ্গে নয়।
ইউশা আলেয়ুব

অ্যান্ড্রয়েড ডক্সটিতে বিশেষ করে অ্যাপ্লিকেশন প্রসঙ্গে উল্লেখ করা হয়েছে: "এই পদ্ধতিতে তিনটি পরামিতি লাগে: অ্যাপ্লিকেশন প্রসঙ্গ, পাঠ্য বার্তা এবং টোস্টের সময়কাল It এটি একটি সঠিকভাবে আরম্ভ করা টোস্ট অবজেক্টটি ফিরিয়ে দেয়" "
lgunsch

9

আমি এখানে উত্তরগুলি জুড়ে দৌড়ে এসেছি এবং এমন কার্যকলাপ দেখে অনুভূত হয়েছি যে কেউ মনে করছেন যে কোনও কার্যকলাপের প্রসঙ্গে প্রয়োজনীয়। এই ক্ষেত্রে না হয়. যাইহোক, এটি একটি টোস্ট প্রধান ইভেন্ট বা ইউআই থ্রেড থেকে পোস্ট করা প্রয়োজন। সুতরাং, কোনও কার্যকলাপের প্রসঙ্গে বাইরে কাজ করা কিছুটা জটিল bit এখানে একটি উদাহরণ রয়েছে যা কোনও সিস্টেম পরিষেবায় বা শেষ পর্যন্ত উত্তরাধিকার সূত্রে প্রাপ্ত কোনও সম্ভাব্য শ্রেণীর অভ্যন্তরে কাজ করবে 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


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

পরিবর্তে "app.getBaseContext ()" ব্যবহার করুন।

আপনি " getApplicationContext () " বা " getContext () ব্যবহার করে দেখতে পারেন " ।

যদি আপনার কোডটি ক্রিয়াকলাপে থাকে তবে আপনার "অ্যাক্টিটি.থিস" এর "এটি" ব্যবহার করা উচিত।
যদি আপনার কোডটি খণ্ডে থাকে তবে আপনার উচিত "getActivity ()"


7

যদি এটি খণ্ডিত হয়,

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

6

টোস্ট প্রদর্শনের জন্য নিম্নলিখিত কোডটি ব্যবহার করুন:

Toast toast = new Toast(getApplicationContext());

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

toast.setDuration(Toast.LENGTH_LONG);

toast.show();

5
 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**

5

সহজ উপায়

toast("Your Message")

অথবা

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

এবং আপনার সমস্ত ক্রিয়াকলাপ দ্বারা প্রসারিত করুন BaseActivity

public class MainActivity extends BaseActivity

3

সহজ উপায়! (আপনার মূল ক্রিয়াকলাপে প্রদর্শন করতে, অন্যান্য ক্রিয়াকলাপের জন্য প্রথম যুক্তিটি প্রতিস্থাপন করুন)

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

2

এটি আমার পক্ষে কাজ করেছে:

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

2

এখানে চিত্র বর্ণনা লিখুন

অবশ্যই পড়ুন: অ্যান্ড্রয়েড টোস্ট উদাহরণ

বাক্য গঠন

Toast.makeText(context, text, duration);

আপনি getApplicationContext () বা getActivity () বা MainActivity.this (যদি কার্যকলাপের নাম মেইনএকটিভিটি হয় ) ব্যবহার করতে পারেন

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

অথবা

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

2

শুরু করার উপায়

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

1

টোস্টটি পরিষেবা থেকে দেখান

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নিজের অ্যাপ্লিকেশন ক্লাসেও পদ্ধতিটি রেখে দিতে পারেন এবং যে কোনও জায়গা থেকে টোস্ট প্রদর্শন করতে পারেন।


1

আপনি যদি আপনার ক্রিয়াকলাপে একটি সাধারণ টোস্ট লিখতে চান: Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

টোস্টে টেক্সটভিউ দেখানো: ---

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

টোস্ট হিসাবে চিত্র দেখানো: -

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

টোস্ট হিসাবে লেআউট প্রদর্শন:

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

** আপনি যদি আপনার অ্যাসিঙ্কে টোস্ট লিখতে চান তবে: private Activity activity; private android.content.Context context; this.activity = activity; this.context = context; Toast.makeText(context, "Hello", Toast.LENGTH_SHORT).show();


1

এখানে অন্য একটি:

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

কোথায় 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>


1

অভ্যন্তরের ভিতরে টুকরা (অনক্রেটভিউ)

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

ক্লাসের ভিতরে (অনক্রিট)

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.