Я создал GridView в моем XML файле, теперь хочу заполнить его в классе Fragment. (этот класс фрагментов использует этот макет)
userhome.xml
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/user_avatar"
android:paddingTop="16dp"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
public class UserHomeFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.userhome, container, false);
}
Я действительно не знаю, как взять мой "home_gridview", я все пробовал, но не работает! Мне нужно это, потому что я хочу использовать его на одной из моих вкладок в панели действий. Можете ли вы мне помочь с кодом? Спасибо вам, ребята!
Оберните свой GridView
внутри LinearLayout
(или другого макета) следующим образом:
<LinearLayout
GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/home_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<GridView android:id="@+id/home_gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/user_avatar"
android:paddingTop="16dp"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
</LinearLayout>
Теперь в onCreateView
найдите свой GridView
по id:
public class UserHomeFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.userhome, container, false);
GridView gridView = (GridView) view.findViewById(R.id.home_gridview);//must be your R not android.R
//use your grid view
return view;
}