2010-11-28 67 views
0

我正在构建一个具有listview的android应用程序,当用户点击listview项目时,一个新的活动开始。我想将一些数据传递给新的活动。我有两个局部变量标题和描述,我想在该方法中使用。编译器抛出一个错误,说明描述应该是最终的类型。因为说明数组是动态生成的,所以我无法做到最终。Android-ListView-在onitemclick方法中访问局部变量

有什么,我失踪或有任何其他方式来处理这个?

String[] titles = someClass.getTitles(); 
String[] descriptions = someClass.getDescriptions(); 

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, titles)); 
ListView lv = getListView(); 
lv.setTextFilterEnabled(true); 
lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id){ 
     Intent i = new Intent(TitleView.this, DetailView.class); 
     i.putExtra("title", ((TextView) view).getText()); 
     i.putExtra("description", descriptions[new Long(id).intValue()]); 
     startActivity(i); 
    } 
}); 

感谢

回答

1

如果指定descriptionsfinal,它不意味着它不能动态地构建。 这意味着一旦descriptions加载了从someClass.getDescriptions();返回的内容,它就不能被重新分配给别的东西(如果是这样的话,它会在编译时引发错误)。

+0

感谢您的回复..我的坏,我的方法返回空列表。 – racharambola 2010-11-28 20:09:08