অ্যান্ড্রয়েড: অভিপ্রায়ের জন্য সেটফ্ল্যাগ এবং অ্যাডফ্ল্যাগগুলির মধ্যে পার্থক্য কী


101

অভিপ্রায় জন্য setFlags এবং addFlags মধ্যে পার্থক্য কি। কেউ দয়া করে এটি ব্যাখ্যা করতে পারে। প্রশংসা করা সাহায্য করুন।


আমি সর্বদা অফিশিয়াল ডক্সের একটি লিঙ্কের প্রশংসা করি: বিকাশকারী /
অ্যান্ড্রয়েড

উত্তর:


133

আপনি যখন ব্যবহার করেন setFlagsআপনি পুরানো পতাকাগুলি প্রতিস্থাপন করছেন ... আপনি যখন ব্যবহার করবেন addFlagsআপনি নতুন পতাকা যুক্ত করছেন। মনে রাখবেন, একটি পতাকাটি কেবল একটি পূর্ণসংখ্যা যা দু'জনের শক্তি ... বাইনারিতে, পতাকাগুলি এর মতো দেখায়: 1, 10, 100, 1000, ইত্যাদি ... (যা এই ক্ষেত্রে 1, 2, 4, 8) । সুতরাং, অপারেটরটি addFlagsব্যবহার করে আপনি যে পূর্ণসংখ্যাটি পাস করেন তা কী হয় |

// example... 
// value of flags: 1
intent.setFlags(2|4); 
// now flags have this value: 110
intent.addFlags(8); 
// now flags have this value: 1110

এটি কীভাবে intent.setFlags(2|4);110 মূল্য দিতে পারে
গোপাল সিং সিরভি

6
মানব পাঠযোগ্য মূল্যবোধের জন্য বাইনারি এলএসবি (কমপক্ষে উল্লেখযোগ্য বিট) -এ গোপালসিংহসিরভি সবচেয়ে সঠিক। তার মানে 110 এর 0 টি 2 2 ^ 0 = 1 এর মান উপস্থাপন করে। দ্বিতীয় মান 1 2 2 ^ 1 = 2 উপস্থাপন করে এবং তৃতীয় মান 2 ^ 2 = 4 উপস্থাপন করে। সুতরাং ওআর ব্যবহার করে 4 (100) এবং 2 (010) এ অপারেটর 110
প্যাট্রিক 19

এটি উইন্ডো.সেটফ্লাগস / অ্যাডফ্ল্যাগগুলির সাথে বিভ্রান্ত হওয়া উচিত নয় যা ইন্টেন্ট পদ্ধতিগুলির সাথে আলাদা আচরণ করে।
TheIT

আমি কি এই অভিপ্রায়যুক্ত পতাকাগুলির ব্যবহারগুলি জানতে পারি? বা আপনি আমাকে উপযুক্ত প্রশ্নে ট্যাগ করতে পারেন?
আনিস কুমার

11
intent.setFlags(int num);

এই সেট পতাকাটি কীভাবে ইন্টেন্ট.সেটফ্লাগ পরিচালনা করতে হয় তা মূলত ইন্টেন্ট দ্বারা সম্পাদিত উপাদানটির উপর নির্ভর করে t এটি একক বিবৃতিতে একাধিক কল চেইনের জন্য একই অভিপ্রায় বস্তুটি প্রদান করে।

intent.addFlags(int num);

এটি বিদ্যমান মানগুলির সাথে একটি নির্দিষ্ট অভিপ্রায় অতিরিক্ত পতাকা যুক্ত করতে সহায়তা করে th এটি একক বিবৃতিতে একাধিক কল চেইনের জন্য একই অভিপ্রায় বস্তুটিও প্রদান করে object


6
 public Intent addFlags(int flags) {
    mFlags |= flags;
    return this;
}
public Intent setFlags(int flags) {
    mFlags = flags;
    return this;
}

কেবলমাত্র উত্স কোড থেকে এটি রেফারেন্সের জন্য খুঁজে পেয়েছি।

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