ব্যবহারকারীকে আপনার বার্তায় সাড়া দেওয়ার জন্য আপনি Snackbar একটি অ্যাকশন যোগ করতে পারেন। আপনি যখন এটি করেন, Snackbar বার্তা পাঠ্যের পাশে একটি বোতাম রাখে এবং ব্যবহারকারী বোতামটি আলতো চাপার মাধ্যমে আপনার ক্রিয়াটি ট্রিগার করতে পারে। উদাহরণস্বরূপ, একটি ইমেল অ্যাপ তার "ইমেল সংরক্ষণাগারভুক্ত" বার্তায় একটি পূর্বাবস্থায় ফেরার বোতাম রাখতে পারে। ব্যবহারকারী যদি পূর্বাবস্থায় ফেরার বোতামে ট্যাপ করে, অ্যাপটি ইমেলটিকে সংরক্ষণাগার থেকে ফিরিয়ে নিয়ে যায়।
চিত্র 1. একটি পূর্বাবস্থায় ক্রিয়া বোতাম সহ একটি Snackbar যা একটি সরানো আইটেম পুনরুদ্ধার করে৷
একটি Snackbar বার্তায় একটি ক্রিয়া যুক্ত করতে, একটি শ্রোতা অবজেক্ট সংজ্ঞায়িত করুন যা View.OnClickListener ইন্টারফেস প্রয়োগ করে। ব্যবহারকারী বার্তা অ্যাকশনে ট্যাপ করলে সিস্টেমটি আপনার শ্রোতার onClick() পদ্ধতিতে কল করে। উদাহরণস্বরূপ, এই স্নিপেটটি একজন শ্রোতাকে একটি পূর্বাবস্থায় ফেরানোর জন্য দেখায়:
কোটলিন
classMyUndoListener:View.OnClickListener{funonClick(v:View){// Code to undo the user's last action.}}
জাভা
publicclassMyUndoListenerimplementsView.OnClickListener{@OverridepublicvoidonClick(Viewv){// Code to undo the user's last action.}}
আপনার Snackbar শ্রোতাকে সংযুক্ত করতে setAction() পদ্ধতিগুলির একটি ব্যবহার করুন। এই কোড নমুনায় দেখানো হিসাবে show() কল করার আগে শ্রোতাকে সংযুক্ত করুন:
ব্যবহারকারীকে আপনার বার্তায় সাড়া দেওয়ার জন্য আপনি Snackbar একটি অ্যাকশন যোগ করতে পারেন। আপনি যখন এটি করেন, Snackbar বার্তা পাঠ্যের পাশে একটি বোতাম রাখে এবং ব্যবহারকারী বোতামটি আলতো চাপার মাধ্যমে আপনার ক্রিয়াটি ট্রিগার করতে পারে। উদাহরণস্বরূপ, একটি ইমেল অ্যাপ তার "ইমেল সংরক্ষণাগারভুক্ত" বার্তায় একটি পূর্বাবস্থায় ফেরার বোতাম রাখতে পারে। ব্যবহারকারী যদি পূর্বাবস্থায় ফেরার বোতামে ট্যাপ করে, অ্যাপটি ইমেলটিকে সংরক্ষণাগার থেকে ফিরিয়ে নিয়ে যায়।
চিত্র 1. একটি পূর্বাবস্থায় ক্রিয়া বোতাম সহ একটি Snackbar যা একটি সরানো আইটেম পুনরুদ্ধার করে৷
একটি Snackbar বার্তায় একটি ক্রিয়া যুক্ত করতে, একটি শ্রোতা অবজেক্ট সংজ্ঞায়িত করুন যা View.OnClickListener ইন্টারফেস প্রয়োগ করে। ব্যবহারকারী বার্তা অ্যাকশনে ট্যাপ করলে সিস্টেমটি আপনার শ্রোতার onClick() পদ্ধতিতে কল করে। উদাহরণস্বরূপ, এই স্নিপেটটি একজন শ্রোতাকে একটি পূর্বাবস্থায় ফেরানোর জন্য দেখায়:
কোটলিন
classMyUndoListener:View.OnClickListener{funonClick(v:View){// Code to undo the user's last action.}}
জাভা
publicclassMyUndoListenerimplementsView.OnClickListener{@OverridepublicvoidonClick(Viewv){// Code to undo the user's last action.}}
আপনার Snackbar শ্রোতাকে সংযুক্ত করতে setAction() পদ্ধতিগুলির একটি ব্যবহার করুন। এই কোড নমুনায় দেখানো হিসাবে show() কল করার আগে শ্রোতাকে সংযুক্ত করুন:
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Add an action to a message\n\nTry the Compose way \nJetpack Compose is the recommended UI toolkit for Android. Learn how to add notifications in Compose. \n[Snackbar →](/develop/ui/compose/components/snackbar) \n\nYou can add an action to a\n[Snackbar](/reference/com/google/android/material/snackbar/Snackbar)\nto let the user respond to your message. When you do this, the\n`Snackbar` puts a button next to the message text, and the user can\ntrigger your action by tapping the button. For example, an email app might put\nan *undo* button on its \"email archived\" message. If the user taps the\n*undo* button, the app takes the email back out of the archive.\n**Figure 1.** A `Snackbar` with an undo action button that restores a removed item.\n\nTo add an action to a `Snackbar` message, define a listener object\nthat implements the\n[View.OnClickListener](/reference/android/view/View.OnClickListener)\ninterface. The system calls your listener's\n[onClick()](/reference/android/view/View.OnClickListener#onClick(android.view.View))\nmethod if the user taps the message action. For example, this snippet shows a\nlistener for an undo action: \n\n### Kotlin\n\n```kotlin\nclass MyUndoListener : View.OnClickListener {\n\n fun onClick(v: View) {\n // Code to undo the user's last action.\n }\n}\n```\n\n### Java\n\n```java\npublic class MyUndoListener implements View.OnClickListener {\n\n @Override\n public void onClick(View v) {\n\n // Code to undo the user's last action.\n }\n}\n```\n\nUse one of the\n[setAction()](/reference/com/google/android/material/snackbar/Snackbar#setAction(int, android.view.View.OnClickListener))\nmethods to attach the listener to your `Snackbar`. Attach the\nlistener before you call\n[show()](/reference/com/google/android/material/snackbar/BaseTransientBottomBar#show()),\nas shown in this code sample: \n\n### Kotlin\n\n```kotlin\nval mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),\n R.string.email_archived, Snackbar.LENGTH_SHORT)\nmySnackbar.setAction(R.string.undo_string, MyUndoListener())\nmySnackbar.show()\n```\n\n### Java\n\n```java\nSnackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),\n R.string.email_archived, Snackbar.LENGTH_SHORT);\nmySnackbar.setAction(R.string.undo_string, new MyUndoListener());\nmySnackbar.show();\n```\nIf you are using [Jetpack Compose](/jetpack/compose), you can show a [SnackbarHost](/reference/kotlin/androidx/compose/material/package-summary#SnackbarHost(androidx.compose.material.SnackbarHostState,androidx.compose.ui.Modifier,kotlin.Function1)), as shown in the following example: \n\n### Kotlin\n\n```kotlin\n override fun onCreate(savedInstanceState: Bundle?) {\n\n super.onCreate(savedInstanceState)\n\n setContent {\n DACPlaygroundTheme {\n val snackbarHostState = remember { SnackbarHostState() }\n val scope = rememberCoroutineScope()\n Scaffold(\n snackbarHost = { SnackbarHost(snackbarHostState) },\n content = { padding -\u003e\n Button(\n modifier = Modifier.padding(padding),\n onClick = {\n scope.launch {\n snackbarHostState.showSnackbar(\n message = \"1 item removed\",\n actionLabel = \"UNDO\",\n duration = SnackbarDuration.Short\n ).run {\n when (this) {\n Dismissed -\u003e Log.d(\"SNACKBAR\", \"Dismissed\")\n ActionPerformed -\u003e Log.d(\"SNACKBAR\", \"UNDO CLICKED\")\n }\n }\n }\n }\n ) { Text(\"Show snackbar\") }\n }\n )\n }\n }\n }\n \n```\n| **Note:** A `Snackbar` automatically goes away after a short time, so the user might not see the message or have a chance to tap the button. For this reason, offer other ways to perform `Snackbar` actions."]]