2011-06-16 80 views
3

我有一个活动在我的应用程序显示rss饲料和旁边每个RSS饲料箭头图像附加。设置点击监听器动态创建图像浏览

我是新来的android任何帮助将不胜感激。

,我会解释我在做什么,显示新闻...

我有一个RSS一个单独的虚拟XML布局..我已经为箭头图像ID(这将导航到下一个活动)在它作为iv_arrow_img我迭代了新闻饲料我得到和每个新闻饲料我一次又一次地添加虚拟视图...我的问题是我将如何区分不同的图像箭头的ID ..因为现在所有具有相同ID ...下面我有我的代码

我已经写的代码

设置的onclick听众给他们0

但我没有得到不同的新闻虽然他们不同的标签不同..可以告诉我我做错了什么...?

回答

2

asuming这种观点是最终的(在其他情况下,我认为,你不能编译这个),所以它指向您创建的最后一个观点.. 。没有必要使用findViewById ......在事件中,你得到了哪些职高这么尝试smthing这样的图像视图:

ivArrowfwd.setOnTouchListener(new OnTouchListener(){ 
    @Override 
    public boolean onTouch(View v, MotionEvent me) { 
     ImageView iv = (ImageView)v; 
     System.out.println("sdfsdf" + iv.getTag()); 
     return false; 
    } 
}); 

反正... 你应该考虑使用的ListView来代替

0

你可能想要的是如下所示。您必须通过他们在.xml文件中提供给他们的ID找到您的Views,并使用android:id="[email protected]/XXXXXXX"

您的代码将是这个样子:

String id; 
int resID; 
ImageView views[] = new ImageView[NUM_OF_VIEWS]; 

for(int i = o; i < NUM_OF_VIEWS; i++){ 
    id = "ImageViewIdentifier" + i; // Do name their id's in the .xml file so that you can easily loop over them. 
    resID = getResources().getIdentifier(resID, "defType", "defPackage"); // see here: http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String, java.lang.String, java.lang.String) 
    views[NUM_OF_VIEWS-1] = (ImageView) findViewById(resID); 
    views[NUM_OF_VIEWS-1].setOnTouchListener(new OnTouchListener(){ 
      // DO Stuff here 
     } 
    } 
}