Построение макета панели мониторинга как фрагмента программно - PullRequest
4 голосов
/ 15 марта 2012

Я создаю свое первое приложение для Android, основной вид и все подпредставления основаны на макете панели, поэтому я пытаюсь повторно использовать DashboardLayout из GoogleIO 2011.

Мне удалось заставить его работать с ViewPager, используя FragmentPagerAdapter (поскольку DashboardLayout задуман как фрагмент). Я создал три xml как DashboardLayout с 6 иконками в каждом и отлично работает.

Теперь пришло время сделать все динамично: мне нужно создать DashboardLayout программно в соответствии с удаленными данными (json).

В данный момент я вызываю создание экземпляра DashboardFragment в основной деятельности следующим образом:

...

ArrayList<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(Fragment.instantiate(this, DashboardFragment.class.getName()));

...

в классе DashboardFragment у меня есть:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     return inflater.inflate(R.layout.fragment_dashboard, container, false);
}

и, в основном, это XML-файл frag_dashboard:

<com.google.android.ui.widget.DashboardLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <Button android:id="@+id/firstbutton"
        style="@style/DashboardButton"
        android:text="@string/btn_first"
        android:drawableTop="@drawable/btn_first" />
    ...
</com.google.android.widget.DashboardLayout>

Теперь вместо того, чтобы возвращать раздутое представление frag_dashboard, я думаю, что мне нужно создать DashboardLayout и добавить к нему кнопки в соответствии с загруженными данными json. Но я не знаю как.

Идеи

...