如何在Android中的viewFlipper旁边的文本视图上设置Click Listener?
作者:互联网
在示例新闻应用程序中,我有一个显示新闻标题的Flipper视图,您可以在下面看到ViewFlipper的XML代码.
<ViewFlipper android:id="@+id/pushFlipper"
android:layout_width="fill_parent"
android:layout_height="25dp"
android:background="#90333333"
android:flipInterval="4000"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dip"
>
</ViewFlipper>
我动态地将TextViews添加到此ViewFlipper,以便以动画形式显示新闻标题.这是将TextViews添加到Flipper的代码.
现在,我面临的问题是如何在动态TextView上设置侦听器,以便可以在textview中显示的标题的新Activity中显示适当的新闻描述.请在这方面帮助我,我们将不胜感激.
pushFlipper = ((ViewFlipper) this.findViewById(R.id.pushFlipper));
pushFlipper.startFlipping();
try
{
RSSdata = new RSSHandler();
for (int i = 2; i < RSSdata.getTitle().size(); i++)
{
TextView tvNewsRSS = new TextView(this);
tvNewsRSS.setText(RSSdata.getTitle().get(i).toString());
tvNewsRSS.setTextColor(Color.parseColor("#FFFFFF"));
tvNewsRSS.setTextSize(14);
tvNewsRSS.setGravity(Gravity.CENTER_VERTICAL);
pushFlipper.addView(tvNewsRSS);
}
}
catch(Exception e)
{
}
解决方法:
解决方案之一是从textview标记中单击项目即可获取newsId,然后在下一个活动中使用此newsId来获取并显示适当的新闻.
码:
try
{
for (int i = 0; i < 10; i++)
{
TextView tvNewsRSS = new TextView(this);
tvNewsRSS.setText(RSSdata.getTitle().get(i));
tvNewsRSS.setTextColor(Color.parseColor("#FFFFFF"));
tvNewsRSS.setTextSize(14);
tvNewsRSS.setTag(RSSdata.getId().get(i));
tvNewsRSS.setGravity(Gravity.CENTER_VERTICAL);
tvNewsRSS.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String newsId = v.getTag().toString();
// Pass this newsId to next activity via intent putExtra.
}
});
pushFlipper.addView(tvNewsRSS);
}
}
catch(Exception e)
{
}
标签:viewflipper,android 来源: https://codeday.me/bug/20191031/1974707.html