2012-07-04 180 views
0

从我的主要活动中,我想将ImageView传递给另一个类的构造函数,或者如果需要,可以将此类的对象传递给另一个类的构造函数。一些代码在下面。将ImageView传递给构造函数

类情况:

public class Case { 

String id; 
int status; 
Date date; 
ImageView orginalFace; 
ImageView profilePicture; 


public Case(String id, int status, Date date, ImageView orginalFace, ImageView profilePicture) { 

    this.id= id; 
    this.status = status; 
    this.date = date; 
    this.orginalFace= orginalFace; 
    this.profilePicture= profilePicture; 

    } 
} 

而这正是我尝试添加的ImageView:

ArrayList<Case> cases = new ArrayList<Case>(); 

    Case case1 = new Case("991176565809", 1, new Date(), R.drawable.face, R.drawable.profile); 

我知道,当我尝试添加R.drawable.faceR.drawable.profile这只是integers。我如何能够正确地做到这一点?

+0

其实你想要做到这一点? – user370305

+0

这仅用于测试目的。其实图像应该来自web服务。 –

+0

这取决于您的实际需求,如果图像来自WebService,那么最好使用Bitmap而不是ImageView。 – user370305

回答

2

您可以加载两个ImageViews这样的:

ImageView faceImg = new ImageView(context); 
faceImg.setImageResource(R.drawable.face); 

ImageView profileImg = new ImageView(context); 
profileImg.setImageResource(R.drawable.profile); 
+0

但您应该使用位图来改善性能 –

1

您通过ImageView可以使用findViewById(int id)方法。在你的情况下:

ArrayList<Case> cases = new ArrayList<Case>(); 

ImageView imageView1 = new ImageView(yourActivitysContext); 
imageView1.setImageResource(R.drawable.face); 

ImageView imageView2 = new ImageView(yourActivitysContext); 
imageView2.setImageResource(R.drawable.profile); 

Case case1 = new Case("991176565809", 1, new Date(), imageView1 , imageView2); 

但是,我必须警告你,将imageViews存储在内存中不是一个好习惯。