2011-06-16 65 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 
     } 
    } 
}