2017-02-05 12 views
-1

Я пытаюсь установить изображения в виде gridview, но я не вижу никаких изображений. Я хочу, чтобы они были в миниатюрном представлении активности. Как я могу показывать изображения в gridview из двух колонок:Адаптер изображения не отображается в Grid View

<?xml version="1.0" encoding="utf-8"?> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/activity_fit_employess" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin"> 


    <GridView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:numColumns="2" 
     android:id="@+id/admin_homepage_grid" 
     /> 
</LinearLayout> 

Вот мой класс Image Adapter

public class ImageAdapter extends BaseAdapter { 


int[] icons={ R.mipmap.new_admissions,R.mipmap.inbox,R.mipmap.courses,R.mipmap.parent,R.mipmap.teacher 
}; 

    private Context context; 

    public ImageAdapter(Context c) 
    { 
     context = c; 
    } 
    @Override 
    public int getCount() { 
     return 0; 
    } 

    @Override 
    public Object getItem(int position) { 
     return null; 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if(convertView==null) 
     { 
      imageView=new ImageView(context); 
      imageView.setLayoutParams(new GridView.LayoutParams(600,600)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5,5,5,5); 
     } 
     else{ 

      imageView=(ImageView)convertView; 
     } 
     imageView.setImageResource(icons[position]); 
     return imageView; 
    } 

}

Вот моя активность класс

public class LibAdminHomepage extends AppCompatActivity { 

GridView gv; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_lib_admin_homepage); 

    gv=(GridView)findViewById(R.id.admin_homepage_grid); 
    gv.setAdapter(new ImageAdapter(this)); 

    gv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      switch (position){ 
       case 0: 
        Toast.makeText(LibAdminHomepage.this,""+position,Toast.LENGTH_SHORT).show(); 
        break; 
       case 1: 
        Toast.makeText(LibAdminHomepage.this,""+position,Toast.LENGTH_SHORT).show(); 
        break; 
       case 2: 
        Toast.makeText(LibAdminHomepage.this,""+position,Toast.LENGTH_SHORT).show(); 
        break; 
       case 3: 
        Toast.makeText(LibAdminHomepage.this,""+position,Toast.LENGTH_SHORT).show(); 
        break; 
       case 4: 
        Toast.makeText(LibAdminHomepage.this,""+position,Toast.LENGTH_SHORT).show(); 
        break; 

      } 

     } 
    }); 



} 

}

ответ

0

Вы возвращаетесь 0 на ваш getCount адаптера

попробовать этот код:

public class ImageAdapter extends BaseAdapter { 


int[] icons={ R.mipmap.new_admissions,R.mipmap.inbox,R.mipmap.courses,R.mipmap.parent,R.mipmap.teacher 
}; 

    private Context context; 

    public ImageAdapter(Context c) 
    { 
     context = c; 
    } 
    @Override 
    public int getCount() { 
     return icons.length; 
    } 

    @Override 
    public Object getItem(int position) { 
     return icons[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(600,600)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5,5,5,5); 
     } 
     else{ 

      imageView=(ImageView)convertView; 
     } 
     imageView.setImageResource(icons[position]); 
     return imageView; 
    } 
+0

Спасибо за помощь! :) – ThePercept

+0

без проблем..Happy кодировка !! – rafsanahmad007

1

Просто замените ваш метод getCount() адаптер с этим, вы получите изображения

@Override 
public int getCount() { 
    return icons.length; 
}