我有一个使用TextView的工作android应用程序,一些格式(换行符,破折的行)和Linkify生成一个原始的“ListView样”显示与每个“行”中的可点击的网址。我想转向一个真正的ListView,但我只是没有找到我需要采取下一步的示例/解释。Android概念帮助ListView
我已成功复制了HelloListView sample,从硬编码字符串数组开始,然后移动到我的res/values/strings.xml
中定义的字符串数组。我通过添加HttpClient代码从服务中检索一组数据,将结果解析为一个String数组并将其提供给setListAdapter(),使得我的文本和链接显示为文本 - 仅在ListView项目中。
我想移动到下一个步骤,是使我的ListView每个“行”启动浏览器中包含的数据的URL,或者通过 (A)单击行中的任意位置,或 (B )单击行数据中显示的超链接
对于选项(A),看起来我需要让我的onItemClick()方法发出一个启动浏览器的意图。这很简单,但我不知道如何将URL与项目相关联(目前它只是每个“行”文本的字符串内容的一部分)。如何将我的URL与其余文本分开,以便我可以将浏览器启动到相应的URL?我是否需要用自定义对象数组来替换我的String Array?
对于选项(B),我可以使用Linkify吗?看起来,我的字符串数组元素被转换为单独的TextViews(从HelloListView示例中生成Toast文本的方式推断)。我可以访问该TextView来运行Linkify吗?我是否需要用TextView数组替换我的String Array并自己运行Linkify?我完全脱离基地吗?
感谢任何人可以帮助解释我想要做什么,以帮助找到我的方式在SDK,样本和其他帮助!
或者我应该看看选项(C),这将是在列表视图中的点击启动一个新的全屏幕TextView,我可以使用linkify显示任意数量的超链接。 (这是我认为我在新闻应用和社交网络应用中看到的模式)。现在查看关于该模式的示例,以及如何将内容从单击的列表视图项移到可应用Linkify的通用基于TextView的类。 – jeffonc 2010-10-30 18:24:10
得到了一个选项(C),它使用一个intent,一个设置简单TextView的类,以及通过使用Bundle和Intent.putExtras()发送this.getIntent()将ListView行的内容传递给TextView。 getExtras()来接收。 (A)和(B)将针对CommonsWare的一些建议进行研究。 – jeffonc 2010-10-30 23:53:14