উত্তর:
এটি একটি সাধারণ সতর্কতা ডায়ালগ , ফেডেরিকো আপনাকে একটি সাইট দিয়েছেন যেখানে আপনি জিনিসগুলি সন্ধান করতে পারেন।
কীভাবে একটি সতর্কতা ডায়ালগ তৈরি করা যায় তার একটি ছোট উদাহরণ এখানে।
new AlertDialog.Builder(this)
.setTitle("Title")
.setMessage("Do you really want to whatever?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(MainActivity.this, "Yaay", Toast.LENGTH_SHORT).show();
}})
.setNegativeButton(android.R.string.no, null).show();
অ্যান্ড্রয়েড একটি বিল্ট-ইন ইয়েসনোপ্রেফারেন্স ক্লাস নিয়ে আসে যা আপনি যা চান ঠিক তা করে (হ্যাঁ এবং কোনও বিকল্পের সাথে একটি কনফার্ম ডায়ালগ)। সরকারী উত্স কোডটি এখানে দেখুন ।
দুর্ভাগ্যক্রমে, এটি com.android.internal.preference
প্যাকেজে রয়েছে যার অর্থ এটি অ্যান্ড্রয়েডের প্রাইভেট এপিআইয়ের একটি অংশ এবং আপনি নিজের অ্যাপ্লিকেশন থেকে এটি অ্যাক্সেস করতে পারবেন না (ব্যক্তিগত এপিআই ক্লাসগুলি বিজ্ঞপ্তি ছাড়াই পরিবর্তিত হতে পারে, সুতরাং গুগল আপনাকে সেগুলিতে অ্যাক্সেস না দেওয়ার কারণ)।
সমাধান: কেবলমাত্র আমার সরবরাহিত লিঙ্কটি থেকে অফিশিয়াল উত্স কোডটি অনুলিপি / আটকানোর মাধ্যমে আপনার অ্যাপ্লিকেশনটির প্যাকেজে ক্লাসটি পুনরায় তৈরি করুন। আমি এটি চেষ্টা করেছি, এবং এটি ঠিক কাজ করে (এটি না করার কোনও কারণ নেই)।
তারপরে আপনি এটিকে preferences.xml
অন্য পছন্দগুলির মতো যুক্ত করতে পারেন । উদাহরণ:
<com.example.myapp.YesNoPreference
android:dialogMessage="Are you sure you want to revert all settings to their default values?"
android:key="com.example.myapp.pref_reset_settings_key"
android:summary="Revert all settings to their default values."
android:title="Reset Settings" />
যা দেখতে এরকম দেখাচ্ছে:
আপনি পছন্দ এক্সএমএল স্ক্রিন ব্যবহার করছেন বা আপনি যদি নিজের কাস্টম স্ক্রিন ব্যবহার করছেন তবে উদ্দেশ্য নীচের মত কোডটি ব্যবহার করুন
intentClearCookies = getPreferenceManager().createPreferenceScreen(this);
Intent clearcookies = new Intent(PopupPostPref.this, ClearCookies.class);
intentClearCookies.setIntent(clearcookies);
intentClearCookies.setTitle(R.string.ClearCookies);
intentClearCookies.setEnabled(true);
launchPrefCat.addPreference(intentClearCookies);
এবং তারপরে নীচের মতো কিছুটা ক্রিয়াকলাপ শ্রেণি তৈরি করুন, বিভিন্ন লোক হিসাবে ভিন্ন লোক হিসাবে আপনি আপনার পছন্দ মত যে কোনও পদ্ধতির ব্যবহার করতে পারেন এটি একটি উদাহরণ।
public class ClearCookies extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
showDialog();
}
/**
* @throws NotFoundException
*/
private void showDialog() throws NotFoundException {
new AlertDialog.Builder(this)
.setTitle(getResources().getString(R.string.ClearCookies))
.setMessage(
getResources().getString(R.string.ClearCookieQuestion))
.setIcon(
getResources().getDrawable(
android.R.drawable.ic_dialog_alert))
.setPositiveButton(
getResources().getString(R.string.PostiveYesButton),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//Do Something Here
}
})
.setNegativeButton(
getResources().getString(R.string.NegativeNoButton),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//Do Something Here
}
}).show();
}}
আগেই বলা হয়েছে যে এটি করার বিভিন্ন উপায় রয়েছে। আপনি যেভাবে নিজের কাজটি করতে পারেন এটির একটি উপায়, আপনি যদি মনে করেন যে আপনি যা চান তা পেয়েছেন তবে দয়া করে উত্তরটি গ্রহণ করুন।