android 面试题

新题:如何给ListView的每一项ListItem上的不同ImageView添加事件处理

描述:有一个ListView,其中的ListItem 是通过一个循环,从数据库中取出相应信息。
     
      每一个ListItem上放了两个ImageView: iv1 ,iv2
     
要求:添加点击事件处理,当点第一张图片即iv1的时候,输出“i am 1”,点击第二张的时候输出“i am 2”

       老样子,照旧抛砖引玉,先说说我的思路,我记得我是说在循环的时候,通过下面的方式
                
Java代码 
             ImageView iv_1 = (ImageView)findViewById(R.id.iv1); 
 ImageView iv_2 = (ImageView)findViewById(R.id.iv2); 
               iv_y.setOnClickListener(new OnClickListener(){ 
                   public void onClick(View v) { 
                                。。。。。 

来添加。当时并没有觉得错,也没人告诉我结果。

后来回来一试,悲剧了,直接异常退出。。

今晚又弄了2小时,还是没搞明白怎么弄。。

继续坐等高人出现。。

==================================================================
下面的老题大家都有各自的思路,
其中sky_guang的方法我试过,是可行的  :
1.Field f= (Field)R.drawable.class.getDeclaredField("imgName");
            int id=f.getInt(R.drawable.class);
2.int id = getResources().getIdentifier(getPackageName()+":drawable/imgName", null,null);


以下是老题
==================================================================


在android程序中,有一个数据库文件"database.db"

里面有一张表 "pics"

表有3个属性"id","name" ,"url"
比如:
    id            name                   url
     1           "dog"               "pic1.jpg"
     2           "goose"             "pic2.jpg"


如何把数据库中的图片全部用ImageView显示出来?

(pic1.jpg  pic2.jpg等图片已经放于drawable文件夹中)
===================================================================

此题,咋一看简单,但仔细想想,却又让人百思不得其解。我不知道是我确实想不出来还是今天状态不好。。

好吧,先说说我的思路:


大家都知道,Android里的图片都放于drawable文件夹中 , 由 R 自动生成其16进制的int型数值。
如:public static final int pic1=0x7f02003d;

我们可以通过 R.drawable.pic1 得到它的值。

ImageView时也可以通过setXXX(R.drawable.pic1)来设置。

但是,现在只知道这张图片的名字 "pic1.jpg"

我想通过一个函数,遍历R.drawable的所有属性名,当属性名==pic1的时候,返回它的值。

但是,后来细想又发现,遍历其所有属性名,还真不知道怎么弄。。。
然后又乱七八糟想了一些方法,都证明无法实施。。
哎。。。我是没辙了。。
跪等高人出现~~

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值