How to attach an object with an image view and get it back on next screen
I have an activity in my app which displays rss feeds and next to each rss feed arrow image is attached.. i want to attach the news object to the arrow so that when it is clicked i can pass that object to the next activity an dislay the details ??
I am new to android any help will be appreciated.
Update : I have updated my code and now i am using setTag with my image view to attach an object with it ... but actually first i shall explain what i am doing to display rss news ...
i have a seperate dummy xml layout for a single rss.. i have set id for arrow image (which will navigate o the next activity) in it as iv_arrow_img
i am itterating over the news feeds i get and for each news feed i am adding the dummy view again and again...my question is how will i distinguish between different image arrow's ids .. because for now all are having the same id... how will i set onclick listeners to them ???updated :sample code
Iterator itr = data.ite开发者_StackOverflow社区rator(); int i =0; while (itr.hasNext()) { NewsPostDTO newspostdto = itr.next();
view = inflater.inflate(R.layout.rl_news_item, null);
lnContentView.addView(view, LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);
ivArrowfwd = (ImageView) view.findViewById(R.id.iv_arrowfwd);
tvNewsHeading.setText(newspostdto.getFeaturedDesc());
tvNewsContent.setText(newspostdto.getDate() + " - " + newspostdto.getTitle());
ivArrowfwd.setTag(newspostdto.getId());
ivArrowfwd.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
System.out.println("sdfsdf" +ivArrowfwd.getTag());
return false;
});
}
getTag() is not returnig unique values .. i am geting same value on each news arrow when i click it ...
To assign object to any image view you can use setTag()
method and to retirieve the information on you can use getTag()
method
Example
ImageView iv = (ImageView)findViewById(R.id.imageview001);
iv.setTag(objectassignedToTheImage);
iv.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
Object passToIntent =iv.getTag()
}
});
Thanks Deepak
Data can be passed between activities by adding it to the Intent object. Please check this question for how to do this: How to send an object from one Android Activity to another using Intents?
That said, I'd highly recommend using an MVC pattern.
精彩评论