2011-01-11 16 views
0

私はリストビューの最初と最後の要素を設定して、バックグラウンドが真ん中のものと異なるようにしようとしています。カスタムアダプター.xmlファイルを作成して、静的にすべてを設定して各行に同じスタイルを設定すると、完全に機能します。現在、私は最初の要素を変更しようとしています。私はnullPointerExceptionを取得していると思うので、私は正しくLinearLayoutを参照していないので、背景を変更したい。ここに私のコードは次のとおりです。カスタムListViewアダプタnullPointerの問題

for (int i = 0; i < categories.size(); i++){ 
      HashMap<String, String> map = new HashMap<String, String>(); 
      map.put("name", categories.get(i)); 
      LinearLayout linear = (LinearLayout)findViewById(R.id.linearLayout1); 
      if(i == 0){ 
       linear.setBackgroundResource(R.drawable.background); 
       Log.v("First Element", "First"); 
      } 
      else{ 
       linear.setBackgroundResource(R.drawable.background); 
       Log.v("Not First Element", "Not First"); 
      } 
      mylist.add(map); 
     } 

私は私の問題はR.id.linearLayout1参照は、この活動のための主要なXMLファイルではないので、どのように私は正しい参照を取得しないことに起因すると考えています。これが当てはまらない場合は、listViewの先頭と最後の要素に異なる背景を持たせるにはどうすればよいですか?

答えて

0

"inflate"を使用してレイアウトを取得する必要があります。

例(私は間違っていない場合は、ここでそれを試してみることはできません)

LinearLayout linear = activity.getViewInflate().inflate(linearLayout1,null, null); 
+0

おかげで助けを求め、私は本当にこの例では、単語「アクティビティ」はいえ何を意味するのか理解していません。このコード行を私の中に入れると、それは何かを認識せず、 "activity"というローカル変数を作成したいと考えています。 – SamRowley

関連する問題