2017-02-05 2 views
-1

ich Setup Bilder in Form von gridview bin versucht, aber ich kann nicht sehen, keine images.I wollen, dass sie auf activity.How in Miniaturansicht sein kann ich zeigen Bilder im gridview von zwei Spalten:Bild Adapter nicht in der Grid-Ansicht zeigt sich

<?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> 

Hier ist mein Bild Adapter Klasse

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; 
    } 

}

Hier ist meine Aktivitätsklasse

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; 

      } 

     } 
    }); 



} 

}

Antwort

0

Sie 0 auf dem getCount des Adapters zurückkehren

diesen Code versuchen:

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

Dank für die Unterstützung aus !! :) – ThePercept

+0

kein Problem..Glückliche Codierung !! – rafsanahmad007

1

einfach Ihre ersetzen getCount() Methode von Adapter mit diesem erhalten Sie Bilder

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