2014-01-31 40 views
0

我想创建应用程序,以在同一活动中的图像视图中传递图像,而点击列表视图项目时,当我尝试它时显​​示代码行中的错误方法
setImageResource(OurProduct_RAngePojo) is undefined for the type new AdapterView.OnItemClickListener(){}
有人可以帮我请怎么做这个。感谢先进。传递到Android中的同一活动中的图像视图中的图像

这里是我的活动

public class Our_ProductRange extends Activity 
{ 
    View selectedImage; 

    private ListView productListView; 


    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.our_product_range); 

     selectedImage = (ImageView)findViewById(R.id.ProductImage); 


     final OurProduct_RAngePojo ourProductRAngePojo[] = new OurProduct_RAngePojo[] 
       { 
        new OurProduct_RAngePojo(R.drawable.aboutus_build), 
        new OurProduct_RAngePojo(R.drawable.aboutus_building_abs), 
        new OurProduct_RAngePojo(R.drawable.aboutus_office1), 
        new OurProduct_RAngePojo(R.drawable.aboutus_office3), 
        new OurProduct_RAngePojo(R.drawable.aboutus_office4b), 
        new OurProduct_RAngePojo(R.drawable.aboutus_plant1), 
        new OurProduct_RAngePojo(R.drawable.aboutus_plant2), 
        new OurProduct_RAngePojo(R.drawable.aboutus_plant3), 
        new OurProduct_RAngePojo(R.drawable.aboutus_plant4), 
        new OurProduct_RAngePojo(R.drawable.aboutus_plant5), 
        new OurProduct_RAngePojo(R.drawable.aboutusofficeb), 

       }; 

     OurProductRange_Adapter productadapter = new OurProductRange_Adapter(this, 
        R.layout.listview_product_item, ourProductRAngePojo); 

     productListView = (ListView)findViewById(R.id.productListView); 
     productListView.setAdapter(productadapter); 


     productListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int position, 
        long arg3) { 
       // TODO Auto-generated method stub 
       //selectedImage.setImageResource(position); 
       //final View imageView1 = mUuserGallery.getChildAt(position); 
       selectedImage = productListView.getChildAt(position); 

      int i=setImageResource(ourProductRAngePojo[position]); 

       // selectedImage.setImageResource(ourProductRAngePojo[position]); 



      } 
     }); 

这里是POJO类

public class OurProduct_RAngePojo { 
    public int icon; 

    public OurProduct_RAngePojo(int icon) { 
     super(); 
     this.icon = icon; 

    } 

    public OurProduct_RAngePojo() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

} 

适配器类别

public class OurProductRange_Adapter extends ArrayAdapter<OurProduct_RAngePojo> 
    { 

     Context context; 
     int layoutResourceId;  
     OurProduct_RAngePojo data[] = null; 

     public OurProductRange_Adapter(Context context, int layoutResourceId, OurProduct_RAngePojo[] data) { 
      super(context, layoutResourceId, data); 
      this.layoutResourceId = layoutResourceId; 
      this.context = context; 
      this.data = data; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View row = convertView; 
      OurProduct_RAngePojo_Holder holder = null; 

      if(row == null) 
      { 
       LayoutInflater inflater = ((Activity)context).getLayoutInflater(); 
       row = inflater.inflate(layoutResourceId, parent, false); 

       holder = new OurProduct_RAngePojo_Holder(); 
       holder.imgIcon = (ImageView)row.findViewById(R.id.imgproductImages); 


       row.setTag(holder); 
      } 
      else 
      { 
       holder = (OurProduct_RAngePojo_Holder)row.getTag(); 
      } 

      OurProduct_RAngePojo aboutus = data[position]; 

      holder.imgIcon.setImageResource(aboutus.icon); 

      return row; 
     } 

     static class OurProduct_RAngePojo_Holder 
     { 
      ImageView imgIcon; 

     } 
    } 

回答

0
selectedImage.setImageResource(ourProductRAngePojo[position].icon); 

执行上述代替下面的代码。

setImageResource(ourProductRAngePojo[position]); 
0
The method " setImageResource(OurProduct_RAngePojo) is undefined for the type new AdapterView.OnItemClickListener(){} 

变化

int i=setImageResource(ourProductRAngePojo[position]); 
// selectedImage.setImageResource(ourProductRAngePojo[position]); 

int i=ourProductRAngePojo[position].icon; 
selectedImage.setImageResource(i); // needs a resource id 

从文档

public void setImageResource (int resId) 

Added in API level 1 
Sets a drawable as the content of this ImageView. 
相关问题