আমি আমার ইউআইগুলি স্বজ্ঞাত হতে চাই; প্রতিটি স্ক্রিনের স্বাভাবিকভাবেই এবং অবিচ্ছিন্নভাবে অ্যাপ্লিকেশনটির পরবর্তী ধাপে ব্যবহারকারীকে গাইড করা উচিত। এটি বাদ দিয়ে আমি যতটা সম্ভব বিভ্রান্তিকর এবং বিভ্রান্তিকর জিনিসগুলি তৈরি করার চেষ্টা করি।
শুধু মজা করছি :-)
আমি তিনটি পেয়েছি TableRow
, প্রত্যেকটিতে কেবল পঠনযোগ্য এবং অ-ফোকাসযোগ্য এডিটেক্সট নিয়ন্ত্রণ এবং তার ডানদিকে একটি বোতাম রয়েছে। প্রতিটি বোতাম একই ক্রিয়াকলাপ শুরু করে তবে একটি ভিন্ন যুক্তি দিয়ে। ব্যবহারকারী সেখানে একটি নির্বাচন করেন এবং উপ-কার্যকলাপ সমাপ্ত হয়, EditText
ব্যবহারকারীর নির্বাচনের সাথে উপযুক্ত পপুলিং করে appropriate
এটি ক্লাসিক ক্যাসকেডিং মানগুলির প্রক্রিয়া; প্রতিটি নির্বাচন পরবর্তী নির্বাচনের জন্য উপলভ্য বিকল্পগুলি সঙ্কুচিত করে ইত্যাদি etc. সুতরাং আমি বর্তমান সারিতে সম্পাদনা পাঠ্যক্রমের মান না হওয়া পর্যন্ত পরবর্তী প্রতিটি সারিতে উভয় নিয়ন্ত্রণ অক্ষম করছি।
অগ্রাধিকারের এই ক্রমে আমাকে দুটি কাজের একটি করতে হবে:
- যখন একটি বোতাম ক্লিক করা হয়, ততক্ষণে অন্য কোনও বোতামে ফোকাস সেট না করেই ফোকাসটি সরিয়ে ফেলুন
- ক্রিয়াকলাপ শুরু হওয়ার পরে প্রথম বোতামটিতে ফোকাস সেট করুন
সাব-অ্যাক্টিভিটি ফিরে আসার পরে সমস্যাটি উদ্ভাসিত হয়; ক্লিক করা বোতামটি ফোকাস ধরে রাখে।
পুনরায়: উপরে # 1 - কোনও removeFocus()
পদ্ধতি বা অনুরূপ কিছু বলে মনে হচ্ছে না
পুনরায়: উপরে # 2 - আমি requestFocus()
পরের সারিটির বোতামটিতে ফোকাস সেট করতে ব্যবহার করতে পারি , এবং এটি উপ-কার্যকলাপ ফিরে আসার পরে কাজ করে তবে কোনও কারণে এটি পিতামাতার ক্রিয়াকলাপে কাজ করে নাonCreate()
।
আমার উভয় দিকেই ইউআই ধারাবাহিকতা দরকার - উপ-ক্রিয়াকলাপ শেষ হওয়ার পরে কোনও বোতাম ফোকাস করে না বা প্রতিটি বাটন কোনও নির্বাচনের আগে খুব প্রথম (এবং শুধুমাত্র) সক্রিয় বোতাম সহ লজিক প্রবাহে তার স্থানের উপর নির্ভর করে ফোকাস গ্রহণ করে।