GetItem не собирается назвать вот мой код его не работает, если я буду использовать деятельность, то его работу должным образом, но в фрагменте GetItem метод не позовет пожалуйста, помогитеGridView в фрагменте не работает
это мой фрагмент:
public class HomeFragment extends BaseFragment{
private static final String TAG = "HomeFragment";
private GridView gvMainItems;
private HomeFragmentGridAdapter homeFragmentGridAdapter;
private ArrayList<HashMap<String, String>> arrayList;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view=inflater.inflate(R.layout.fragment_home,container,false);
gvMainItems = (GridView) view.findViewById(R.id.gvMainItems);
arrayList = new ArrayList<>();
for(int i = 1; i < 100; i++){
HashMap<String, String> map = new HashMap<>();
map.put("item", String.valueOf(i));
arrayList.add(map);
}
homeFragmentGridAdapter = new HomeFragmentGridAdapter(getActivity(), arrayList);
gvMainItems.setAdapter(homeFragmentGridAdapter);
return view;
}
@Override
public void onClick(View view) {
}
}
Это мой адаптер:
public class HomeFragmentGridAdapter extends BaseAdapter {
private final Context context;
private final ArrayList<HashMap<String, String>> arrayList;
private ViewHolder holder;
public HomeFragmentGridAdapter(Context context, ArrayList<HashMap<String,String>> arrayList){
this.context = context;
this.arrayList = arrayList;
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public Object getItem(int position) {
return arrayList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View cinvertview, ViewGroup viewGroup) {
if(cinvertview == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
cinvertview = inflater.inflate(R.layout.fragment_home_grid_raw, null, true);
holder.textView = (TextView) cinvertview.findViewById(R.id.textView);
cinvertview.setTag(holder);
}else{
holder = (ViewHolder) cinvertview.getTag();
}
Log.d(TAG, "getItem: "+arrayList.get(position).get("item"));
holder.textView.setText(arrayList.get(position).get("item"));
return cinvertview;
}
public class ViewHolder{
public ImageView ivGridItem;
public TextView textView;
}
}
это XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/content_main"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.neodocto.activity.MainActivity"
tools:showIn="@layout/app_bar_main">
<GridView android:id="@+id/gvMainItems"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="90dp"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp"
/>
</LinearLayout>
Это происходит также, если ваш HomeFragment расширяет фрагмент вместо BaseFragment? –
да же в Фрагменте также –
@DharaPatel, какую ошибку вы получите? –