Android 如何从其他类获取imageView

Android 如何从其他类获取imageView,android,Android,我有一个用于gridView的baseadapter,它在没有视图时创建一个视图。以下是getView部分: @Override public View getView(int position, View convertView, ViewGroup parent) { // Try to reuse the views ImageView view = (ImageView) convertView; boolean checked = (mCheckBox==nul

我有一个用于gridView的baseadapter,它在没有视图时创建一个视图。以下是getView部分:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Try to reuse the views
    ImageView view = (ImageView) convertView;
    boolean checked = (mCheckBox==null)?false:(((CheckBox)  mCheckBox).isChecked());
    // if convert view is null then create a new instance else reuse it
    if (view == null) {
        view = new ImageView(Context);
        Log.d("GridViewAdapter", "new imageView added");
        view.setId(R.id.iconImageView_id);
    }
    if(checked == true){
        isSdReadable();
        Log.i("GridViewAdapter", "checkbox is checked");
    } else {
        Log.i("GridView", "Icons not for use/checkbox not checked");
    }
    view.setImageResource(drawables.get(position));
    view.setScaleType(ImageView.ScaleType.CENTER_CROP);
    view.setLayoutParams(new android.widget.GridView.LayoutParams(70, 70));
    view.setTag(String.valueOf(position));
    return view;
}
如您所见,我在“我的值”部分基于此xml布局文件为视图提供了新id
iconImageView\u id

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="iconImageView_id"/>
</resources>
但另一个类也是baseadapter

下面是我尝试使用imageView的课程的完整部分:

        Log.d("AppInfoAdapter", "Data Set To Display");
    addCheckbox
            .setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    if (addCheckbox.isChecked()) {
                        System.out.println("Checked");

                        PackageManager pm = mContext.getPackageManager();
                        final int   DEST_IMAGE_WIDTH = 100;
                        final int DEST_IMAGE_HEIGHT = 100;
                        ApplicationInfo appInfo = mContext.getApplicationInfo();
                        Drawable appIcon = pm.getApplicationIcon(appInfo);
                        Bitmap appBmp  = Bitmap.createBitmap(DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT, Config.ARGB_8888); 

                        // Creates a new canvas based on the image specification
                        // created just above.
                        Canvas canvas = new Canvas(appBmp);
                        // (optional) Fills the entire canvas
                        canvas.drawColor(Color.WHITE);
                        // You need to set bounds otherwise a 0,0 sized image would be drawn.
                        appIcon.setBounds(0, 0, DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT);
                        appIcon.draw(canvas);

                        /// Let's save to a .jpg file ...
                        File file = new File(mContext.getFilesDir().getAbsolutePath() + "/test2.jpg");
                        FileOutputStream out;
                        try
                        {
                            file.createNewFile();
                            out = new FileOutputStream(file);
                            appBmp.compress(Bitmap.CompressFormat.JPEG, 80, out);
                            Log.i("AppInfoAdapter", "The icon for use in gridView is saved");
                            out.close();

                            // Load back the image file to confirms it works
                          Bitmap bitmap = BitmapFactory.decodeFile( file.getAbsolutePath() );
                          ImageView imageView1 = (ImageView)v.findViewById(R.id.iconImageView_id);
                          imageView1.setImageBitmap( bitmap );  
                          Log.i("AppInfoAdapter", "The icon image has been set into the gridView");
                        }

                        catch (FileNotFoundException e1)
                        {
                            e1.printStackTrace();
                        }
                        catch (IOException e2)
                        {
                            e2.printStackTrace();
                        }


                    } else {
                        System.out.println("Un-Checked");
                    }

                }
            });

    // return view
    return v;
}
所以我得到了一个NPE,因为我显然不能静态地引用视图

那么我怎样才能在我的另一个类中使用这个imageView呢

以下是stacktrace错误:

FATAL EXCEPTION: main
12-22 15:58:45.782: E/AndroidRuntime(28793): java.lang.NullPointerException
12-22 15:58:45.782: E/AndroidRuntime(28793):    at com.example.awesomefilebuilderwidget.AppInfoAdapter$1.onClick(AppInfoAdapter.java:200)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.view.View.performClick(View.java:2532)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.widget.CompoundButton.performClick(CompoundButton.java:99)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.view.View$PerformClick.run(View.java:9308)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.os.Handler.handleCallback(Handler.java:587)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.os.Handler.dispatchMessage  (Handler.java:92)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.os.Looper.loop(Looper.java:150)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at android.app.ActivityThread.main(ActivityThread.java:4333)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at java.lang.reflect.Method.invokeNative(Native Method)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at java.lang.reflect.Method.invoke(Method.java:507)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-22 15:58:45.782: E/AndroidRuntime(28793):    at dalvik.system.NativeStart.main(Native Method)
第200行为:

imageView1.setImageBitmap( bitmap );  
增加:

以下是我正在处理的两个完整类:

AppInfoAdapter.java:

package com.example.awesomefilebuilderwidget;

IMPORTS

public class AppInfoAdapter extends BaseAdapter implements Filterable {
private Context mContext;
private List<ResolveInfo> mListAppInfo;
private PackageManager mPackManager;
private List<ResolveInfo> originalListAppInfo;
private Filter filter;
private String fname;

public AppInfoAdapter(Context c, List<ResolveInfo> listApp,
        PackageManager pm) {
    mContext = c;
    this.originalListAppInfo = this.mListAppInfo = listApp;
    mPackManager = pm;
    Log.d("AppInfoAdapter", "top");
}

@Override
public int getCount() {
    Log.d("AppInfoAdapter", "getCount()");
    return mListAppInfo.size();
}

@Override
public Object getItem(int position) {
    Log.d("AppInfoAdapter", "getItem");
    return mListAppInfo.get(position);
}

@Override
public long getItemId(int position) {
    Log.d("AppInfoAdapter", "getItemId");
    return position;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // get the selected entry
    final ResolveInfo entry = (ResolveInfo) mListAppInfo.get(position);

    // reference to convertView
    View v = convertView;

    // inflate new layout if null
    if (v == null) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        v = inflater.inflate(R.layout.layout_appinfo, null);
        Log.d("AppInfoAdapter", "New layout inflated");
    }

    // load controls from layout resources
    ImageView ivAppIcon = (ImageView) v.findViewById(R.id.ivIcon);
    TextView tvAppName = (TextView) v.findViewById(R.id.tvName);
    TextView tvPkgName = (TextView) v.findViewById(R.id.tvPack);
    final CheckBox addCheckbox = (CheckBox) v
            .findViewById(R.id.addCheckbox);
    Log.d("AppInfoAdapter", "Controls from layout Resources Loaded");

    // set data to display
    ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager));
    tvAppName.setText(entry.activityInfo.loadLabel(mPackManager));
    tvPkgName.setText(entry.activityInfo.packageName);

    Log.d("AppInfoAdapter", "Data Set To Display");
    addCheckbox
            .setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    if (addCheckbox.isChecked()) {
                        System.out.println("Checked");

                        PackageManager pm = mContext.getPackageManager();
                        final int   DEST_IMAGE_WIDTH = 100;
                        final int DEST_IMAGE_HEIGHT = 100;
                        ApplicationInfo appInfo = mContext.getApplicationInfo();
                        Drawable appIcon = pm.getApplicationIcon(appInfo);
                        Bitmap appBmp  = Bitmap.createBitmap(DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT, Config.ARGB_8888); 

                        // Creates a new canvas based on the image specification
                        // created just above.
                        Canvas canvas = new Canvas(appBmp);
                        // (optional) Fills the entire canvas
                        canvas.drawColor(Color.WHITE);
                        // You need to set bounds otherwise a 0,0 sized image would be drawn.
                        appIcon.setBounds(0, 0, DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT);
                        appIcon.draw(canvas);

                        /// Let's save to a .jpg file ...
                        File file = new File(mContext.getFilesDir().getAbsolutePath() + "/test2.jpg");
                        FileOutputStream out;
                        try
                        {
                            file.createNewFile();
                            out = new FileOutputStream(file);
                            appBmp.compress(Bitmap.CompressFormat.JPEG, 80, out);
                            Log.i("AppInfoAdapter", "The icon for use in gridView is saved");
                            out.close();

                            // Load back the image file to confirms it works
                          Bitmap bitmap = BitmapFactory.decodeFile( file.getAbsolutePath() );
                          ImageView imageView1 = (ImageView)v.findViewById(R.id.iconImageView_id);
                          imageView1.setImageBitmap( bitmap );  
                          Log.i("AppInfoAdapter", "The icon image has been set into the gridView");
                        }

                        catch (FileNotFoundException e1)
                        {
                            e1.printStackTrace();
                        }
                        catch (IOException e2)
                        {
                            e2.printStackTrace();
                        }


                    } else {
                        System.out.println("Un-Checked");
                    }

                }
            });

    // return view
    return v;
}
package com.example.awesomefilebuilderwidget;

IMPORTS

public class GridViewAdapter extends BaseAdapter {
private Context Context;

// Keep all Images in array list
public ArrayList<Integer> drawables = new ArrayList<Integer>();

CheckBox mCheckBox=null;

// Constructor
public GridViewAdapter(Context c){
    Context = c;
    Log.d("GridViewAdapter", "Constructor is set");

    drawables.add(R.drawable.pattern1);
    Log.d("GridViewAdapter", "pattern1 added");

    drawables.add(R.drawable.pattern2);
    Log.d("GridViewAdapter", "pattern2 added");

    drawables.add(R.drawable.trashcan);
    Log.d("GridViewAdapter", "trashcan added");

    drawables.add(R.drawable.ic_launcher);
    Log.d("GridViewAdapter", "ic_launcher added");
}

public void setCheckBox(CheckBox checkbox){
    mCheckBox=checkbox;
}

@Override
// How many items are in the data set represented by this Adapter
public int getCount() {
    return drawables.size();
}

@Override
// Get the data item associated with the specified position in the
// data set
public Object getItem(int position) {
    return drawables.get(position);
}

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

public boolean isSdReadable() {

    boolean mExternalStorageAvailable = false;
    String state = Environment.getExternalStorageState();

    if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = true;
    Log.i("isSdReadable", "External storage card is readable.");
    } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    Log.i("isSdReadable", "External storage card is readable.");
    mExternalStorageAvailable = true;
    } else {
    // Something else is wrong. It may be one of many other
    // states, but all we need to know is we can neither read nor write
    mExternalStorageAvailable = false;
    }

    return mExternalStorageAvailable;
    }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Try to reuse the views
    ImageView view = (ImageView) convertView;
    boolean checked = (mCheckBox==null)?false:(((CheckBox)  mCheckBox).isChecked());
    // if convert view is null then create a new instance else reuse it
    if (view == null) {
        view = new ImageView(Context);
        Log.d("GridViewAdapter", "new imageView added");
        view.setId(R.id.iconImageView_id);
    }
    if(checked == true){
        isSdReadable();
        Log.i("GridViewAdapter", "checkbox is checked");
    } else {
        Log.i("GridView", "Icons not for use/checkbox not checked");
    }
    view.setImageResource(drawables.get(position));
    view.setScaleType(ImageView.ScaleType.CENTER_CROP);
    view.setLayoutParams(new android.widget.GridView.LayoutParams(70, 70));
    view.setTag(String.valueOf(position));
    return view;
}

}
package com.example.awesomefilebuilderwidget;
进口
公共类AppInfoAdapter扩展BaseAdapter实现可过滤{
私有上下文;
私人名单;
专用软件包管理器mPackManager;
私人名单原件;
专用滤波器;
私有字符串fname;
公共AppInfoAdapter(上下文c、列表listApp、,
包装经理(pm){
mContext=c;
this.originalListAppInfo=this.mListAppInfo=listApp;
mPackManager=pm;
Log.d(“AppInfoAdapter”、“top”);
}
@凌驾
public int getCount(){
Log.d(“AppInfoAdapter”、“getCount()”);
返回mListAppInfo.size();
}
@凌驾
公共对象getItem(int位置){
Log.d(“AppInfoAdapter”、“getItem”);
返回mlistapingfo.get(位置);
}
@凌驾
公共长getItemId(int位置){
Log.d(“AppInfoAdapter”、“getItemId”);
返回位置;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
//获取所选条目
最终的ResolveInfo条目=(ResolveInfo)mListAppInfo.get(position);
//对convertView的引用
视图v=转换视图;
//如果为空,则为新布局充气
如果(v==null){
LayoutFlater充气机=LayoutFlater.from(mContext);
v=充气机充气(R.layout.layout_appinfo,空);
Log.d(“AppInfoAdapter”、“新布局”);
}
//从布局资源加载控件
ImageView ivAppIcon=(ImageView)v.findViewById(R.id.ivIcon);
TextView-tvAppName=(TextView)v.findviewbyd(R.id.tvName);
TextView-tvPkgName=(TextView)v.findviewbyd(R.id.tvPack);
最终复选框addCheckbox=(复选框)v
.findviewbyd(R.id.addCheckbox);
d(“AppInfoAdapter”,“加载布局资源的控件”);
//设置要显示的数据
setImageDrawable(entry.loadIcon(mPackManager));
tvAppName.setText(entry.activityInfo.loadLabel(mPackManager));
tvPkgName.setText(entry.activityInfo.packageName);
Log.d(“AppInfoAdapter”,“要显示的数据集”);
添加复选框
.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
if(addCheckbox.isChecked()){
系统输出打印项次(“已检查”);
PackageManager pm=mContext.getPackageManager();
最终int DEST_图像宽度=100;
最终int DEST_图像高度=100;
ApplicationInfo appInfo=mContext.getApplicationInfo();
可绘制的appIcon=pm.getApplicationCon(appInfo);
位图appBmp=Bitmap.createBitmap(DEST\u IMAGE\u WIDTH,DEST\u IMAGE\u HEIGHT,Config.ARGB\u 8888);
//基于图像规范创建新画布
//就在上面创建的。
Canvas Canvas=新画布(appBmp);
//(可选)填充整个画布
画布。drawColor(颜色。白色);
//您需要设置边界,否则将绘制0,0大小的图像。
appIcon.setBounds(0,0,目标图像宽度,目标图像高度);
appIcon.draw(画布);
///让我们保存到一个.jpg文件。。。
File File=新文件(mContext.getFilesDir().getAbsolutePath()+“/test2.jpg”);
文件输出流输出;
尝试
{
createNewFile();
out=新文件输出流(文件);
appBmp.compress(Bitmap.CompressFormat.JPEG,80,out);
Log.i(“AppInfoAdapter”,“保存gridView中使用的图标”);
out.close();
//加载回图像文件以确认其工作
位图位图=BitmapFactory.decodeFile(file.getAbsolutePath());
ImageView ImageView 1=(ImageView)v.findViewById(R.id.iconImageView\u id);
imageView1.setImageBitmap(位图);
Log.i(“AppInfoAdapter”,“图标图像已设置到gridView”);
}
捕获(FileNotFoundException e1)
{
e1.printStackTrace();
}
捕获(IOE2异常)
{
e2.printStackTrace();
}
}否则{
系统输出打印项次(“未检查”);
}
}
});
//返回视图
返回v;
}
和GridViewAdapter.java:

package com.example.awesomefilebuilderwidget;

IMPORTS

public class AppInfoAdapter extends BaseAdapter implements Filterable {
private Context mContext;
private List<ResolveInfo> mListAppInfo;
private PackageManager mPackManager;
private List<ResolveInfo> originalListAppInfo;
private Filter filter;
private String fname;

public AppInfoAdapter(Context c, List<ResolveInfo> listApp,
        PackageManager pm) {
    mContext = c;
    this.originalListAppInfo = this.mListAppInfo = listApp;
    mPackManager = pm;
    Log.d("AppInfoAdapter", "top");
}

@Override
public int getCount() {
    Log.d("AppInfoAdapter", "getCount()");
    return mListAppInfo.size();
}

@Override
public Object getItem(int position) {
    Log.d("AppInfoAdapter", "getItem");
    return mListAppInfo.get(position);
}

@Override
public long getItemId(int position) {
    Log.d("AppInfoAdapter", "getItemId");
    return position;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // get the selected entry
    final ResolveInfo entry = (ResolveInfo) mListAppInfo.get(position);

    // reference to convertView
    View v = convertView;

    // inflate new layout if null
    if (v == null) {
        LayoutInflater inflater = LayoutInflater.from(mContext);
        v = inflater.inflate(R.layout.layout_appinfo, null);
        Log.d("AppInfoAdapter", "New layout inflated");
    }

    // load controls from layout resources
    ImageView ivAppIcon = (ImageView) v.findViewById(R.id.ivIcon);
    TextView tvAppName = (TextView) v.findViewById(R.id.tvName);
    TextView tvPkgName = (TextView) v.findViewById(R.id.tvPack);
    final CheckBox addCheckbox = (CheckBox) v
            .findViewById(R.id.addCheckbox);
    Log.d("AppInfoAdapter", "Controls from layout Resources Loaded");

    // set data to display
    ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager));
    tvAppName.setText(entry.activityInfo.loadLabel(mPackManager));
    tvPkgName.setText(entry.activityInfo.packageName);

    Log.d("AppInfoAdapter", "Data Set To Display");
    addCheckbox
            .setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    if (addCheckbox.isChecked()) {
                        System.out.println("Checked");

                        PackageManager pm = mContext.getPackageManager();
                        final int   DEST_IMAGE_WIDTH = 100;
                        final int DEST_IMAGE_HEIGHT = 100;
                        ApplicationInfo appInfo = mContext.getApplicationInfo();
                        Drawable appIcon = pm.getApplicationIcon(appInfo);
                        Bitmap appBmp  = Bitmap.createBitmap(DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT, Config.ARGB_8888); 

                        // Creates a new canvas based on the image specification
                        // created just above.
                        Canvas canvas = new Canvas(appBmp);
                        // (optional) Fills the entire canvas
                        canvas.drawColor(Color.WHITE);
                        // You need to set bounds otherwise a 0,0 sized image would be drawn.
                        appIcon.setBounds(0, 0, DEST_IMAGE_WIDTH, DEST_IMAGE_HEIGHT);
                        appIcon.draw(canvas);

                        /// Let's save to a .jpg file ...
                        File file = new File(mContext.getFilesDir().getAbsolutePath() + "/test2.jpg");
                        FileOutputStream out;
                        try
                        {
                            file.createNewFile();
                            out = new FileOutputStream(file);
                            appBmp.compress(Bitmap.CompressFormat.JPEG, 80, out);
                            Log.i("AppInfoAdapter", "The icon for use in gridView is saved");
                            out.close();

                            // Load back the image file to confirms it works
                          Bitmap bitmap = BitmapFactory.decodeFile( file.getAbsolutePath() );
                          ImageView imageView1 = (ImageView)v.findViewById(R.id.iconImageView_id);
                          imageView1.setImageBitmap( bitmap );  
                          Log.i("AppInfoAdapter", "The icon image has been set into the gridView");
                        }

                        catch (FileNotFoundException e1)
                        {
                            e1.printStackTrace();
                        }
                        catch (IOException e2)
                        {
                            e2.printStackTrace();
                        }


                    } else {
                        System.out.println("Un-Checked");
                    }

                }
            });

    // return view
    return v;
}
package com.example.awesomefilebuilderwidget;

IMPORTS

public class GridViewAdapter extends BaseAdapter {
private Context Context;

// Keep all Images in array list
public ArrayList<Integer> drawables = new ArrayList<Integer>();

CheckBox mCheckBox=null;

// Constructor
public GridViewAdapter(Context c){
    Context = c;
    Log.d("GridViewAdapter", "Constructor is set");

    drawables.add(R.drawable.pattern1);
    Log.d("GridViewAdapter", "pattern1 added");

    drawables.add(R.drawable.pattern2);
    Log.d("GridViewAdapter", "pattern2 added");

    drawables.add(R.drawable.trashcan);
    Log.d("GridViewAdapter", "trashcan added");

    drawables.add(R.drawable.ic_launcher);
    Log.d("GridViewAdapter", "ic_launcher added");
}

public void setCheckBox(CheckBox checkbox){
    mCheckBox=checkbox;
}

@Override
// How many items are in the data set represented by this Adapter
public int getCount() {
    return drawables.size();
}

@Override
// Get the data item associated with the specified position in the
// data set
public Object getItem(int position) {
    return drawables.get(position);
}

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

public boolean isSdReadable() {

    boolean mExternalStorageAvailable = false;
    String state = Environment.getExternalStorageState();

    if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = true;
    Log.i("isSdReadable", "External storage card is readable.");
    } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    Log.i("isSdReadable", "External storage card is readable.");
    mExternalStorageAvailable = true;
    } else {
    // Something else is wrong. It may be one of many other
    // states, but all we need to know is we can neither read nor write
    mExternalStorageAvailable = false;
    }

    return mExternalStorageAvailable;
    }

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // Try to reuse the views
    ImageView view = (ImageView) convertView;
    boolean checked = (mCheckBox==null)?false:(((CheckBox)  mCheckBox).isChecked());
    // if convert view is null then create a new instance else reuse it
    if (view == null) {
        view = new ImageView(Context);
        Log.d("GridViewAdapter", "new imageView added");
        view.setId(R.id.iconImageView_id);
    }
    if(checked == true){
        isSdReadable();
        Log.i("GridViewAdapter", "checkbox is checked");
    } else {
        Log.i("GridView", "Icons not for use/checkbox not checked");
    }
    view.setImageResource(drawables.get(position));
    view.setScaleType(ImageView.ScaleType.CENTER_CROP);
    view.setLayoutParams(new android.widget.GridView.LayoutParams(70, 70));
    view.setTag(String.valueOf(position));
    return view;
}

}
package com.example.awesomefilebuilderwidget;
进口
公共类GridViewAdapter扩展了BaseAdapter{
私人语境;
//将所有图像保留在数组列表中
public ArrayList drawables=new ArrayList();
复选框mCheckBox=null;
//建造师
公共GridViewAdapter(上下文c){
上下文=c;
Log.d(“GridViewAdapter”,“已设置构造函数”);
添加(R.drawable.pat
 ImageView imageView1 = (ImageView)v.findViewById(R.id.iconImageView_id);
viewRoot.findViewById(R.id.iconImageView_id);