Java 如何单击jsonobject/listview提要项?

Java 如何单击jsonobject/listview提要项?,java,android,rss,Java,Android,Rss,我正在努力学习本教程 我正在使用eclipse并为android 2.0开发 问题就在这里 *我不知道如何设置onclick侦听器或类似于每一篇文章的内容 *我想把它放到网站上这篇文章来自onclick public class Utezone extends ListActivity { private RssListAdapter adapter; /** Called when the activity is first created. */ @Override public void

我正在努力学习本教程 我正在使用eclipse并为android 2.0开发

问题就在这里 *我不知道如何设置onclick侦听器或类似于每一篇文章的内容 *我想把它放到网站上这篇文章来自onclick

public class Utezone extends ListActivity {

private RssListAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    List<JSONObject> jobs = new ArrayList<JSONObject>();
    try {
        jobs = RssReader.getLatestRssFeed();

    } catch (Exception e) {
        Log.e("RSS ERROR", "Error loading RSS Feed Stream >> " + e.getMessage() + " //" + e.toString());
    }





    adapter = new RssListAdapter(this,jobs);
    setListAdapter(adapter);
}
public类Utezone扩展ListActivity{
专用RssListAdapter适配器;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
列表作业=新建ArrayList();
试一试{
jobs=RssReader.getLatestRssFeed();
}捕获(例外e){
Log.e(“RSS错误”,“加载RSS提要流时出错>>”+e.getMessage()+“/”+e.toString());
}
适配器=新的RssListAdapter(此为作业);
setListAdapter(适配器);
}
}

公共类RssListAdapter扩展了ArrayAdapter{
公共RssListAdapter(活动、列表图像和文本){
超级(活动、0、图像和文本);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
活动活动=(活动)getContext();
LayoutInflater充气器=活动。getLayoutInflater();
//从XML膨胀视图
视图行视图=充气机。充气(R.layout.image\u text\u layout,null);
JSONObject jsonImageText=getItem(位置);
//////////////////////////////////////////////////////////////////////////////////////////////////////
//下一节我们将在运行时更新文本——由REST调用中的JSON提供
////////////////////////////////////////////////////////////////////////////////////////////////////
TextView TextView=(TextView)rowView.findViewById(R.id.job_text);
试一试{
跨距文本=(跨距)jsonImageText.get(“文本”);
textView.setText(text);
}捕获(JSONException e){
setText(“JSON异常”);
}
返回行视图;
} 
}
公共类RssReader{
私有最终静态字符串BOLD_OPEN=“”;
私有最终静态字符串BOLD_CLOSE=“”;
私有最终静态字符串中断=“
”; 私有最终静态字符串ITALIC_OPEN=“”; 私有最终静态字符串ITALIC_CLOSE=“”; 私有最终静态字符串SMALL_OPEN=“”; 私有最终静态字符串小_CLOSE=“”; /** *此方法定义一个提要URL,然后调用我们的SAX处理程序来读取文章列表 *从小溪 * *@返回列表-适用于列表视图活动 */ 公共静态列表getLatestRssFeed(){ 字符串feed=“thefedurl”; RSSHandler rh=新的RSSHandler(); 列表文章=rh.getLatestArticles(提要); Log.e(“RSS错误”,“文章数”+articles.size()); 返回数据(文章); } /** *此方法获取项目对象列表,并将其转换为 *正确的JSON格式,以便我们的列表视图可以处理信息 * *@param文章-列表 *@返回列表-适用于列表视图活动 */ 私有静态列表数据(列表项目){ 列表项=新建ArrayList(); 用于(第条:第条){ JSONObject当前=新的JSONObject(); 试一试{ buildJsonObject(文章,当前); }捕获(JSONException e){ e(“RSS错误”,“从RSS提要创建JSON对象时出错”); } 项目。添加(当前); } 退货项目; } /** *此方法接受单个Article对象并将其转换为单个JSON对象 *包括一些额外的HTML格式,以便可以很好地显示它们 * *@param文章 *@param电流 *@JSONException */ 私有静态void buildJsonObject(Article-Article,JSONObject-current)抛出JSONException{ String title=article.getTitle(); 字符串描述=article.getDescription(); 字符串日期=article.getPubDate(); StringBuffer sb=新的StringBuffer(); sb.append(加粗打开)。append(标题)。append(加粗关闭); 某人追加(中断); 某人附加(描述); 某人追加(中断); sb.append(小开)。append(斜体开)。append(日期)。append(斜体闭)。append(小闭); current.put(“text”,Html.fromHtml(sb.toString()); } }
onclicklistener绑定到listview。调用getListView()并将其设置为ListView ivar。在该ivar上,通过调用方法setOnItemClickListener()实现OnItemClickListener

ListView lw=getListView();
lw.setOnItemClickListener(新的OnItemClickListener)({
@凌驾
public void onItemClick(AdapterView父级、视图视图、int位置、长id){}
}));

由于活动扩展了ListActivity,您只需执行以下操作:

protected void onListItemClick(ListView l, View v, int position, long id) {
   super.onListItemClick(l, v, position, id);
   //do something
}
ListView lw = getListView();
lw.setOnItemClickListener(new OnItemClickListener({
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {}

}));
protected void onListItemClick(ListView l, View v, int position, long id) {
   super.onListItemClick(l, v, position, id);
   //do something
}