2010-11-28 14 views
0

私はリストビューを持つアンドロイドアプリケーションを構築しています。ユーザがリストビューアイテムをクリックすると新しいアクティビティが開始されます。私はいくつかのデータを新しいアクティビティに渡したいと思います。私は、そのメソッドの中で使いたい2つのローカル変数のタイトルと説明を持っています。コンパイラは、記述がここで使用する最後の型であるべきであるというエラーを投げています。記述配列は動的に生成されるので、最終的には作成できません。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

あなたはfinalとしてdescriptionsを指定した場合、それが動的に構築することができません意味doesntの。 someClass.getDescriptions();から返されたものがdescriptionsにロードされると、他のものに再割り当てできないことを意味します(コンパイル時にエラーが発生します)。

+0

返事ありがとうございました..私の悪いです、私のメソッドは空のリストを返していました。 – racharambola