2011-09-23 69 views
1

我在警报对话框中显示网格视图。网格视图由存储在数组中的图像组成。在网格视图中添加下一个和上一个按钮

我在网格视图中每次显示9个图像,现在网格视图下方有两个按钮“Next”&“Previous”。

如果点击“下一步”,它将显示阵列中接下来的9个图像,并与“上一个”类似。请告诉我如何继续,如果可能,请提供一些示例代码。

我尝试这个代码,请说,如果我可以使用任何其他逻辑..

public View getView(int position, View convertView, ViewGroup parent) 
{ 
    ImageView imageView; 
    imageView = new ImageView(mContext);  

if(no_of_image < mThumbIds.length && no_of_image < screen_no) 
    { 

     if (convertView == null) // if it's not recycled, initialize some attributes 
      { 
       imageView.setLayoutParams(new  GridView.LayoutParams(80, 80)); 
       imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
       imageView.setPadding(8, 8, 8, 8); 
      } 
     else 
      { 
       imageView = (ImageView) convertView; 
      } 

      imageView.setImageResource(mThumbIds[no_of_image]); 
      no_of_image++; 
    } 




    return imageView; 

screen_no是否定的。的图像显示在一个网格视图中。在我的情况下,它是9. 和mThumbIds是我从哪里加载图像的数组。

+1

请添加一些代码您正在尝试... –

+0

我们不会做你的工作。试试自己,我们会尽力帮助解决即将发生的错误。 –

+0

public View getView(int position,View convertView,ViewGroup parent){ \t \t ImageView imageView;如果(convertView == null){ imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(80,80)); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setPadding(8,8,8,8); } else { imageView =(ImageView)convertView; } imageView.setImageResource(mThumbIds [position]); return imageView; \t} – zaiff

回答

0

您必须通过扩展任何现有适配器类来为GridView编写自己的自定义适配器。 现在,当你点击下一步,你将只需更改适配器的数据集,并在适配器上调用 notifydatasetchaged()方法,这将自动刷新gridview。 但请记住,您应该更改数据集当且仅当您有下一个图像显示。 这只是我与你分享的重叠逻辑。

相关问题