我正在构建一个具有listview的android应用程序,当用户点击listview项时,就会启动一个新活动。我想将一些数据传递给新活动。我有两个局部变量标题和描述,我想在该方法中使用。编译器抛出一个错误,说明描述应该是在那里使用的最终类型。因为说明数组是动态生成的,所以我不能让它成为最终的。
我有什么遗漏或有其他方法可以解决这个问题吗?
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);
}
});
由于
答案 0 :(得分:1)
如果您将descriptions
指定为final
,则表示无法动态构建它。
这意味着一旦descriptions
加载了从someClass.getDescriptions();
返回的内容,就无法将其重新分配给其他内容(如果是这种情况,则会在编译时抛出错误)。