تحديث شريط التقدم الذي تم تحقيقه في العرض الجديد

StackOverflow https://stackoverflow.com/questions/4335619

سؤال

أريد تحديث شريط التقدم في طلبي.

لقد قمت بإنشاء طريقة عرض جديدة من خلال الاستفادة من 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);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top