Я пытаюсь сделать вкладку, где мне нужно отображать изображения в gridview, поэтому я сделал обычные вкладки из одной из библиотек и сделал адаптер для отображения изображений в моем основном коде активности ,Как отображать gridview Изображения в фрагменте вкладок
class TestAdapter extends FragmentPagerAdapter {
public TestAdapter (FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int i) {
Fragment fragment=null;
if (i==0){
fragment=new One();
}
if (i==1){
fragment=new Two();
}
if (i==2){
fragment=new Three();
}
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
String title = new String();
if (position==0){
return "tab1";
}
if (position==1){
return "tab2";
}
if (position==2){
return "tab3";
}
return title;
}
}
мой класс фрагментов.
public class One extends Fragment {
public Integer [] imageIDs = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5,
R.drawable.img6,
R.drawable.img7,
R.drawable.img8,
R.drawable.img9,
R.drawable.img10
};
public One() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_one,container,false);
GridView gridView = (GridView) view.findViewById(R.id.gridView);
gridView.setAdapter(new MyAdapter(view.getContext())); // uses the view to get the context instead of getActivity().
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
Я поставил свой адаптер, как следовать
public class MyAdapter extends BaseAdapter {
public Integer [] imageIDs =
{
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5,
R.drawable.img6,
R.drawable.img7,
R.drawable.img8,
R.drawable.img9,
R.drawable.img10
};
private Context context;
public MyAdapter(Context c){
context=c;
}
@Override
public int getCount() {
return imageIDs.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView==null){
imageView =new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(85,85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(5,5,5,5);
}
else {
imageView=(ImageView)convertView;
}
imageView.setImageResource(imageIDs[position]);
return imageView;
}
}
Я могу сделать вид сетки в деятельности, но в том, что я использую, чтобы объявить изображения в MainActivity
классе, но здесь я получаю ошибка. Sso, который я заявил в адаптере, поскольку адаптер будет вызывать изображения. Она составлена правильно, без ошибок, но он показывает ошибку ошибки во время выполнения, как
04-23 10:39:11.950 571-571/? E/Vold: Error reading configuration (No such file or directory)... continuing anyways
Так как это исправить, и была у меня объявить изображения.
Возможный дубликат [макета сетки в пределах вкладки] (http://stackoverflow.com/questions/23493527/grid-layout-within-tabs) – miken32