Get text of dynamic generated TextView when clicking on it-Collection of common programming errors

I’m running through a for-loop and am generating TextViews that should be clickable because I want to start then an intent and pass the url as parameter as well as the source.

So, I’ve tried this

articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
articleURL[i].setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //System.out.println(articleURL[v.getId()].getText().toString());
        System.out.println(v.getId());
    }
});

The problem i encounter is that the v.getId() is always 0. And when i use the commented code

System.out.println(articleURL[v.getId()].getText().toString()); 

I get an exception that says

java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1

I just need the content of the TextView i clicked on. How exactly do i get it? articleURL[i] doesn’t work because he doesn’t know i then. How can v.getId() always be -1? No matter which one I click?

This here is the complete for-loop

TextView articleURL = new TextView[hashMapSize];
for (int i = 0; i < hashMapSize; i++) {
    articleURL[i] = new TextView(getActivity());
    articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    articleURL[i].setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            System.out.println(articleURL[v.getId()].getText().toString());
            //System.out.println(v.getId());
        }
    });
}