تحديث شريط التقدم الذي تم تحقيقه في العرض الجديد
-
30-09-2019 - |
سؤال
أريد تحديث شريط التقدم في طلبي.
لقد قمت بإنشاء طريقة عرض جديدة من خلال الاستفادة من Inflater وفي هذا العرض الذي تم إنشاؤه حديثًا ، أود أن أظهر تحديث شريط التقدم الأفقي.
كيف يمكنني فعل ذلك بشكل خاص؟
كما تعلمت أنه عندما نقوم بإنشاء رؤية جديدة بواسطة Inflater ، نحتاج إلى إضافتها إلى فئة النشاط الحالية بواسطة AddContentView () ، لا أعرف كيفية القيام بذلك على الرغم من أنني حاولت الكثير حتى الآن.
أي شخص يمكن أن تساعدني هنا؟
المحلول
لذا ، نظرًا لأنك لا تقدم رمزًا ، اسمحوا لي أن أبحث عن الكرة البلورية ... انتظر ... حسنًا ، هناك. لديك شيء مثل هذا:
View someView = inflater.inflate(R.layout.view_with_progress_bar, null);
من أجل الوصول إلى ProgressBar
, ، عليك استخدام findViewById
طريقة:
ProgressBar yourProgressBar = (ProgressBar)someView.findViewById(R.id.id_of_your_progress_bar);
// you can know modify the progress bar: yourProgressBar.setBlahBlah
لإضافة العرض الذي يحتوي على شريط التقدم لك النشاط الحالي ، يجب أن يكون لديك إشارة إلى الحاوية التي قمت بتعيينها مسبقًا. لذا ، أعتقد أنك فعلت سابقًا: setContentView(R.layout.something);
, ، ثم لديك تصميم يسمى something.xml
; ؛ يحتوي هذا التصميم على ملف ViewGroup
(LinearLayout
, RelativeLayout
, ، إلخ.؛ الكرة الكريستالية الخاصة بي لا تستطيع رؤية ذلك بوضوح). بعد ذلك ، تحتاج إلى تعيين معرف على تلك الحاوية ، وإنشاء مرجع ، وإضافة طريقة العرض التي تم إنشاؤها حديثًا إليها:
// in your onCreate method
setContentView(R.layout.something);
// let's suppose it's a LinearLayout
LinearLayout mainContainer = (LinearLayout)findViewById(R.id.id_you_gave_to_container);
// blha blah... the rest of your code. Keep in mind that you will
// probably have to declare the mainContainer outside the onCreate method
// here, you have already inflated your view, and want to add it to your activity
mainContainer.addView(someView);