اندرويد:فيوباجيرينديكاتور-إنشاء تخطيطات مختلفة لصفحات مختلفة

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

سؤال

أنا بحاجة إلى إنشاء أربعة تخطيطات مختلفة ، كل واحد إلى صفحة فيوباجيرينديكاتور.كيف يمكنني أن أفعل هذا?و فيوباجيرينديكاتور يعمل بالفعل ، ولكن أنا باستخدام عينة من http://viewpagerindicator.com وهناك يتم إنشاء تكستفيو بسيط لجميع الصفحات.

انظر العينة (تستفراغمنت.جافا):

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    TextView text = new TextView(getActivity());
    text.setGravity(Gravity.CENTER);
    text.setText(mContent);
    text.setTextSize(20 * getResources().getDisplayMetrics().density);
    text.setPadding(20, 20, 20, 20);

    LinearLayout layout = new LinearLayout(getActivity());
    layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    layout.setGravity(Gravity.CENTER);
    layout.addView(text);

    return layout;
}

أحتاج إلى تحديد الصفحة الحالية (الموقف) والرجوع إلى تخطيط الموارد ذات الصلة (شمل).هل من الممكن?

أحتاج أيضا إلى التأكد من تحميل جميع مشاهدات جميع الصفحات مرة واحدة فقط عند إنشاء النشاط ، مما يسمح بتحديث القيم لاحقا.

أنا أقدر أي مساعدة!!شكرا

هل كانت مفيدة؟

المحلول

لقد وجدت حلا بسيطا يعمل بالنسبة لي.هنا هو ما فعلته.

تستفراغمنت.فئة

      public static TestFragment newInstance(String content) {
        TestFragment fragment = new TestFragment();
//
//        StringBuilder builder = new StringBuilder();
//        for (int i = 0; i < 20; i++) {
//            builder.append(content).append(" ");
//        }
//        builder.deleteCharAt(builder.length() - 1);
        fragment.mContent = content;

        return fragment;
    }

التعليق على حلقة هنا.مجرد الحصول على المحتوى التي سوف نستخدمها كعلم.

الآن في الخاص بك onCreateView() تغييره على النحو التالي,

   @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//        TextView text = new TextView(getActivity());
//        text.setGravity(Gravity.CENTER);
//        text.setText(mContent);
//        text.setTextSize(20 * getResources().getDisplayMetrics().density);
//        text.setPadding(20, 20, 20, 20);
//
//        LinearLayout layout = new LinearLayout(getActivity());
//        layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
//        layout.setGravity(Gravity.CENTER);
//        layout.addView(text);
        Log.i("mContent",mContent);
        View view=null;
        if(mContent.equalsIgnoreCase("title1"))
        {
            view = inflater.inflate(R.layout.one, container, false);

        }
        else if(mContent.equalsIgnoreCase("title2"))
        {
            view = inflater.inflate(R.layout.two, container, false);
        }
        else if(mContent.equalsIgnoreCase("title3"))
        {
            view = inflater.inflate(R.layout.three, container, false);
        }
        return view;

    }

هذا هو كل ما يتطلبه الأمر.الآن سوف تكون قادرة على تضخيم وجهات نظركم على أساس اسم العنوان الذي استخدمناه كما العلم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top